<?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>195634</bug_id>
          
          <creation_ts>2019-03-12 12:18:20 -0700</creation_ts>
          <short_desc>Use new RegistrableDomain type in PSON code</short_desc>
          <delta_ts>2019-03-13 10:49:31 -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>
          
          
          <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>
          
          <blocked>195637</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1515587</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-12 12:18:20 -0700</bug_when>
    <thetext>Use new RegistrableDomain type in PSON code instead of more error-prone String type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515597</commentid>
    <comment_count>1</comment_count>
      <attachid>364425</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-12 12:28:56 -0700</bug_when>
    <thetext>Created attachment 364425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515653</commentid>
    <comment_count>2</comment_count>
      <attachid>364425</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-03-12 13:49:50 -0700</bug_when>
    <thetext>Comment on attachment 364425
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364425&amp;action=review

&gt; Source/WebKit/UIProcess/SuspendedPageProxy.cpp:85
&gt; +    , m_registrableDomain(URL(URL(), item.url()))

Do you need to construct a new URL with item.url()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515656</commentid>
    <comment_count>3</comment_count>
      <attachid>364425</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-12 13:54:01 -0700</bug_when>
    <thetext>Comment on attachment 364425
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364425&amp;action=review

&gt;&gt; Source/WebKit/UIProcess/SuspendedPageProxy.cpp:85
&gt;&gt; +    , m_registrableDomain(URL(URL(), item.url()))
&gt; 
&gt; Do you need to construct a new URL with item.url()?

item.url() returns a String, not a URL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515983</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 08:48:16 -0700</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516042</commentid>
    <comment_count>5</comment_count>
      <attachid>364425</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-13 10:45:01 -0700</bug_when>
    <thetext>Comment on attachment 364425
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364425&amp;action=review

&gt; Source/WebKit/UIProcess/WebProcessProxy.h:118
&gt; +    WebCore::RegistrableDomain registrableDomain() const { return m_registrableDomain.valueOr(WebCore::RegistrableDomain { }); }

It seems we can have m_registrableDomain being nullopt, isEmpty or being a real registrable domain.
But we do not expose the difference between nullopt and isEmpty in the public getter.
Can it be a potential source of issues in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516045</commentid>
    <comment_count>6</comment_count>
      <attachid>364425</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 10:48:51 -0700</bug_when>
    <thetext>Comment on attachment 364425
Patch

Clearing flags on attachment: 364425

Committed r242889: &lt;https://trac.webkit.org/changeset/242889&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516046</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 10:48:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516047</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-13 10:49:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/48853537&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364425</attachid>
            <date>2019-03-12 12:28:56 -0700</date>
            <delta_ts>2019-03-13 10:48:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195634-20190312122856.patch</filename>
            <type>text/plain</type>
            <size>21179</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkNjAwMWNmNDUwNzY3ZGQ0
ODljZGU0MDMxYzFlMGJlNGZkYzRjMWEuLjJjZGZlMDRlNzEzYzVlYzJkYjc5ZjdkZWY0MTE0MDJk
NGFhNjMwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTktMDMtMTIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgbmV3IFJlZ2lzdHJhYmxlRG9t
YWluIHR5cGUgaW4gUFNPTiBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTU2MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgbmV3IFJlZ2lzdHJhYmxlRG9tYWluIHR5cGUgaW4gUFNPTiBjb2Rl
IGluc3RlYWQgb2YgbW9yZSBlcnJvci1wcm9uZSBTdHJpbmcgdHlwZS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5k
ZWRQYWdlUHJveHk6OlN1c3BlbmRlZFBhZ2VQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1N1
c3BlbmRlZFBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ2FjaGU6OmNhbkNhY2hlUHJvY2VzcyBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDYWNoZTo6YWRkUHJvY2Vzc0lmUG9z
c2libGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ2FjaGU6OnRha2VQcm9jZXNzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NhY2hlOjpjbGVhckFsbFByb2Nlc3Nlc0ZvclNl
c3Npb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6YWRkUHJvY2Vzc1RvT3JpZ2luQ2FjaGVTZXQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6cmVtb3ZlUHJvY2Vzc0Zyb21PcmlnaW5DYWNoZVNldCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmZpbmRSZXVzYWJsZVN1c3BlbmRlZFBh
Z2VQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmRpZENvbGxlY3RQ
cmV3YXJtSW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dHJ5
UHJld2FybVdpdGhEb21haW5JbmZvcm1hdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Y2FuQmVBZGRlZFRvV2ViUHJvY2Vzc0Nh
Y2hlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjptYXliZVNodXRE
b3duKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDb2xsZWN0UHJld2Fy
bUluZm9ybWF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvck1haW5GcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJlZ2lzdHJh
YmxlRG9tYWluIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnNlbmRQcmV3YXJtSW5mb3JtYXRpb24pOgorCiAyMDE5LTAz
LTEyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eCB0aGUgYnVpbGQgYWZ0ZXIgMjQyODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3Vz
cGVuZGVkUGFnZVByb3h5LmNwcAppbmRleCA1MzQ1YmExNGRhYWJhOWE3NzM1NTcxN2ViYzRmN2E4
YTExMTllZGRkLi44MmRkZjE5YjA2YWJhYjlmN2U2YmE1NTNlYWI3YzU2ZGQ4N2UwMzMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKQEAgLTgy
LDcgKzgyLDcgQEAgU3VzcGVuZGVkUGFnZVByb3h5OjpTdXNwZW5kZWRQYWdlUHJveHkoV2ViUGFn
ZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYKICAgICA6IG1fcGFnZShwYWdlKQog
ICAgICwgbV9wcm9jZXNzKFdURk1vdmUocHJvY2VzcykpCiAgICAgLCBtX21haW5GcmFtZUlEKG1h
aW5GcmFtZUlEKQotICAgICwgbV9yZWdpc3RyYWJsZURvbWFpbih0b1JlZ2lzdHJhYmxlRG9tYWlu
KFVSTChVUkwoKSwgaXRlbS51cmwoKSkpKQorICAgICwgbV9yZWdpc3RyYWJsZURvbWFpbihVUkwo
VVJMKCksIGl0ZW0udXJsKCkpKQogICAgICwgbV9zdXNwZW5zaW9uVGltZW91dFRpbWVyKFJ1bkxv
b3A6Om1haW4oKSwgdGhpcywgJlN1c3BlbmRlZFBhZ2VQcm94eTo6c3VzcGVuc2lvblRpbWVkT3V0
KQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgLCBtX3N1c3BlbnNpb25Ub2tlbihtX3By
b2Nlc3MtPnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCmluZGV4IDY0MGJmMjFkNzFiYTY5
ZDM2ZDA5NWY5N2Y1NmMxOWE5YTg3YjQwMjAuLjVjMjRjMzQwMWM3NjA1NTEzMWM0NDhkOTQ3YmYz
NTRjNzQ0NDJhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRl
ZFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQ
cm94eS5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgog
I2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJXZWJQYWdlUHJv
eHlNZXNzYWdlcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgV2ViUGFnZVByb3h5JiBwYWdlKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlOyB9
CiAgICAgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKCkgeyByZXR1cm4gbV9wcm9jZXNzLmdldCgp
OyB9CiAgICAgdWludDY0X3QgbWFpbkZyYW1lSUQoKSBjb25zdCB7IHJldHVybiBtX21haW5GcmFt
ZUlEOyB9Ci0gICAgY29uc3QgU3RyaW5nJiByZWdpc3RyYWJsZURvbWFpbigpIGNvbnN0IHsgcmV0
dXJuIG1fcmVnaXN0cmFibGVEb21haW47IH0KKyAgICBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiYgcmVnaXN0cmFibGVEb21haW4oKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdHJhYmxl
RG9tYWluOyB9CiAKICAgICBib29sIGZhaWxlZFRvU3VzcGVuZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3VzcGVuc2lvblN0YXRlID09IFN1c3BlbnNpb25TdGF0ZTo6RmFpbGVkVG9TdXNwZW5kOyB9CiAK
QEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkmIG1fcGFnZTsKICAg
ICBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBtX3Byb2Nlc3M7CiAgICAgdWludDY0X3QgbV9tYWluRnJh
bWVJRDsKLSAgICBTdHJpbmcgbV9yZWdpc3RyYWJsZURvbWFpbjsKKyAgICBXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbiBtX3JlZ2lzdHJhYmxlRG9tYWluOwogICAgIGJvb2wgbV9pc0Nsb3NlZCB7
IGZhbHNlIH07CiAKICAgICBTdXNwZW5zaW9uU3RhdGUgbV9zdXNwZW5zaW9uU3RhdGUgeyBTdXNw
ZW5zaW9uU3RhdGU6OlN1c3BlbmRpbmcgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzQ2FjaGUuY3BwCmluZGV4IDcyZWQzZTBmNWI4Njg2YTY0NGE5OGJkODRkMDU2Y2Y1MDQ5
YTA2OGQuLmZmZjdiYzYyMGRlYWZhMDM5NGE1ZmMwZmI1Y2Y1Zjk2ODQ3MGJiNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmNwcApAQCAtNTUsNiArNTUsMTEg
QEAgYm9vbCBXZWJQcm9jZXNzQ2FjaGU6OmNhbkNhY2hlUHJvY2VzcyhXZWJQcm9jZXNzUHJveHkm
IHByb2Nlc3MpIGNvbnN0CiAgICAgaWYgKCFjYXBhY2l0eSgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAocHJvY2Vzcy5yZWdpc3RyYWJsZURvbWFpbigpLmlzRW1wdHkoKSkgewor
ICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3dhcHBpbmcsICIlcCAtIFdlYlByb2Nlc3NDYWNo
ZTo6Y2FuQ2FjaGVQcm9jZXNzKCk6IE5vdCBjYWNoaW5nIHByb2Nlc3MgJWkgYmVjYXVzZSBpdCBk
b2VzIG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgcmVnaXN0cmFibGUgZG9tYWluIiwgdGhpcywgcHJv
Y2Vzcy5wcm9jZXNzSWRlbnRpZmllcigpKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KwogICAgIGlmIChNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1v
cnlQcmVzc3VyZSgpKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTd2FwcGluZywgIiVw
IC0gV2ViUHJvY2Vzc0NhY2hlOjpjYW5DYWNoZVByb2Nlc3MoKTogTm90IGNhY2hpbmcgcHJvY2Vz
cyAlaSBiZWNhdXNlIHdlIGFyZSB1bmRlciBtZW1vcnkgcHJlc3N1cmUiLCB0aGlzLCBwcm9jZXNz
LnByb2Nlc3NJZGVudGlmaWVyKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC02OSw5ICs3
NCw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NhY2hlOjpjYW5DYWNoZVByb2Nlc3MoV2ViUHJvY2Vzc1By
b3h5JiBwcm9jZXNzKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFdlYlByb2Nl
c3NDYWNoZTo6YWRkUHJvY2Vzc0lmUG9zc2libGUoY29uc3QgU3RyaW5nJiByZWdpc3RyYWJsZURv
bWFpbiwgUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzKQorYm9vbCBXZWJQcm9jZXNzQ2Fj
aGU6OmFkZFByb2Nlc3NJZlBvc3NpYmxlKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcykK
IHsKLSAgICBBU1NFUlQoIXJlZ2lzdHJhYmxlRG9tYWluLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJU
KCFwcm9jZXNzLT5wYWdlQ291bnQoKSk7CiAgICAgQVNTRVJUKCFwcm9jZXNzLT5wcm92aXNpb25h
bFBhZ2VDb3VudCgpKTsKICAgICBBU1NFUlQoIXByb2Nlc3MtPnN1c3BlbmRlZFBhZ2VDb3VudCgp
KTsKQEAgLTEyNCw3ICsxMjgsNyBAQCBib29sIFdlYlByb2Nlc3NDYWNoZTo6YWRkUHJvY2Vzcyhz
dGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkUHJvY2Vzcz4mJiBjYWNoZWRQcm9jZXNzKQogICAgIHJldHVy
biB0cnVlOwogfQogCi1SZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQcm9jZXNzQ2FjaGU6OnRh
a2VQcm9jZXNzKGNvbnN0IFN0cmluZyYgcmVnaXN0cmFibGVEb21haW4sIFdlYnNpdGVEYXRhU3Rv
cmUmIGRhdGFTdG9yZSkKK1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NDYWNoZTo6
dGFrZVByb2Nlc3MoY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxl
RG9tYWluLCBXZWJzaXRlRGF0YVN0b3JlJiBkYXRhU3RvcmUpCiB7CiAgICAgYXV0byBpdCA9IG1f
cHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4uZmluZChyZWdpc3RyYWJsZURvbWFpbik7CiAg
ICAgaWYgKGl0ID09IG1fcHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4uZW5kKCkpCkBAIC0x
ODAsNyArMTg0LDcgQEAgdm9pZCBXZWJQcm9jZXNzQ2FjaGU6OmNsZWFyKCkKIAogdm9pZCBXZWJQ
cm9jZXNzQ2FjaGU6OmNsZWFyQWxsUHJvY2Vzc2VzRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpCiB7Ci0gICAgVmVjdG9yPFN0cmluZz4ga2V5c1RvUmVtb3ZlOworICAgIFZlY3Rv
cjxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4ga2V5c1RvUmVtb3ZlOwogICAgIGZvciAoYXV0
byYgcGFpciA6IG1fcHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4pIHsKICAgICAgICAgaWYg
KHBhaXIudmFsdWUtPnByb2Nlc3MoKS53ZWJzaXRlRGF0YVN0b3JlKCkuc2Vzc2lvbklEKCkgPT0g
c2Vzc2lvbklEKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3dhcHBpbmcsICIl
cCAtIFdlYlByb2Nlc3NDYWNoZTo6Y2xlYXJBbGxQcm9jZXNzZXNGb3JTZXNzaW9uKCkgZXZpY3Rp
bmcgcHJvY2VzcyAlaSBiZWNhdXNlIGl0cyBzZXNzaW9uIHdhcyBkZXN0cm95ZWQiLCB0aGlzLCBw
YWlyLnZhbHVlLT5wcm9jZXNzKCkucHJvY2Vzc0lkZW50aWZpZXIoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5oCmluZGV4IDBhMzBkNTMwYmJjNTYyMjk5ZTFlMmU1
MzUwOGRmMTYwMWUxZmE4NWYuLjY2ODg4NjYzMDhjYmQ0YTBlNGVkN2MxMGI2ZmFmYWE2MjY2OGYw
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5oCkBAIC0yNiw2
ICsyNiw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJs
ZURvbWFpbi5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CkBAIC00Miw4ICs0Myw4IEBAIGNsYXNz
IFdlYlByb2Nlc3NDYWNoZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViUHJvY2Vzc0NhY2hl
KFdlYlByb2Nlc3NQb29sJik7CiAKLSAgICBib29sIGFkZFByb2Nlc3NJZlBvc3NpYmxlKGNvbnN0
IFN0cmluZyYgcmVnaXN0cmFibGVEb21haW4sIFJlZjxXZWJQcm9jZXNzUHJveHk+JiYpOwotICAg
IFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+IHRha2VQcm9jZXNzKGNvbnN0IFN0cmluZyYgcmVnaXN0
cmFibGVEb21haW4sIFdlYnNpdGVEYXRhU3RvcmUmKTsKKyAgICBib29sIGFkZFByb2Nlc3NJZlBv
c3NpYmxlKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYpOworICAgIFJlZlB0cjxXZWJQcm9jZXNzUHJv
eHk+IHRha2VQcm9jZXNzKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgV2Vic2l0
ZURhdGFTdG9yZSYpOwogCiAgICAgdm9pZCB1cGRhdGVDYXBhY2l0eShXZWJQcm9jZXNzUG9vbCYp
OwogICAgIHVuc2lnbmVkIGNhcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9jYXBhY2l0eTsgfQpA
QCAtODUsNyArODYsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHkgeyAwIH07
CiAKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkUHJvY2Vzcz4+
IG1fcGVuZGluZ0FkZFJlcXVlc3RzOwotICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9w
dHI8Q2FjaGVkUHJvY2Vzcz4+IG1fcHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW47CisgICAg
SGFzaE1hcDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiwgc3RkOjp1bmlxdWVfcHRyPENhY2hl
ZFByb2Nlc3M+PiBtX3Byb2Nlc3Nlc1BlclJlZ2lzdHJhYmxlRG9tYWluOwogICAgIFJ1bkxvb3A6
OlRpbWVyPFdlYlByb2Nlc3NDYWNoZT4gbV9ldmljdGlvblRpbWVyOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDE1MmIzNjBhNDQzNWFkZjNj
MDMwNTY3ZDYyYjY5Y2NlNTM0YWU5MmYuLjExY2ZhOTMzZTAzMDlhMDdiNzg3MjA0ZjU0MGUwYzU5
MzFiYzQxNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
QEAgLTIxNTUsMTIgKzIxNTUsMTIgQEAgU2VydmljZVdvcmtlclByb2Nlc3NQcm94eSogV2ViUHJv
Y2Vzc1Bvb2w6OnNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHlGcm9tUGFnZUlEKHUKIAogdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6YWRkUHJvY2Vzc1RvT3JpZ2luQ2FjaGVTZXQoV2ViUHJvY2Vzc1Byb3h5
JiBwcm9jZXNzLCBjb25zdCBVUkwmIHVybCkKIHsKLSAgICBhdXRvIHJlZ2lzdHJhYmxlRG9tYWlu
ID0gdG9SZWdpc3RyYWJsZURvbWFpbih1cmwpOworICAgIGF1dG8gcmVnaXN0cmFibGVEb21haW4g
PSBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB7IHVybCB9OwogICAgIGF1dG8gcmVzdWx0ID0g
bV9zd2FwcGVkUHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4uYWRkKHJlZ2lzdHJhYmxlRG9t
YWluLCAmcHJvY2Vzcyk7CiAgICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgcmVz
dWx0Lml0ZXJhdG9yLT52YWx1ZSA9ICZwcm9jZXNzOwogCi0gICAgTE9HKFByb2Nlc3NTd2FwcGlu
ZywgIihQcm9jZXNzU3dhcHBpbmcpIFJlZ2lzdHJhYmxlIGRvbWFpbiAlcyBqdXN0IHNhdmVkIGEg
Y2FjaGVkIHByb2Nlc3Mgd2l0aCBwaWQgJWkiLCByZWdpc3RyYWJsZURvbWFpbi51dGY4KCkuZGF0
YSgpLCBwcm9jZXNzLnByb2Nlc3NJZGVudGlmaWVyKCkpOworICAgIExPRyhQcm9jZXNzU3dhcHBp
bmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBSZWdpc3RyYWJsZSBkb21haW4gJXMganVzdCBzYXZlZCBh
IGNhY2hlZCBwcm9jZXNzIHdpdGggcGlkICVpIiwgcmVnaXN0cmFibGVEb21haW4uc3RyaW5nKCku
dXRmOCgpLmRhdGEoKSwgcHJvY2Vzcy5wcm9jZXNzSWRlbnRpZmllcigpKTsKICAgICBpZiAoIXJl
c3VsdC5pc05ld0VudHJ5KQogICAgICAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NT
d2FwcGluZykgTm90ZTogSXQgYWxyZWFkeSBoYWQgb25lIHNhdmVkIik7CiB9CkBAIC0yMTcwLDcg
KzIxNzAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdmVQcm9jZXNzRnJvbU9yaWdpbkNh
Y2hlU2V0KFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKICAgICBMT0coUHJvY2Vzc1N3YXBwaW5n
LCAiKFByb2Nlc3NTd2FwcGluZykgUmVtb3ZpbmcgcHJvY2VzcyB3aXRoIHBpZCAlaSBmcm9tIHRo
ZSBvcmlnaW4gY2FjaGUgc2V0IiwgcHJvY2Vzcy5wcm9jZXNzSWRlbnRpZmllcigpKTsKIAogICAg
IC8vIEZJWE1FOiBUaGlzIGNhbiBiZSB2ZXJ5IGluZWZmaWNpZW50IGFzIHRoZSBudW1iZXIgb2Yg
cmVtZW1iZXJlZCBvcmlnaW5zIGFuZCBwcm9jZXNzZXMgZ3Jvd3MKLSAgICBWZWN0b3I8U3RyaW5n
PiByZWdpc3RyYWJsZURvbWFpbnNUb1JlbW92ZTsKKyAgICBWZWN0b3I8V2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4+IHJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlOwogICAgIGZvciAoYXV0byBl
bnRyeSA6IG1fc3dhcHBlZFByb2Nlc3Nlc1BlclJlZ2lzdHJhYmxlRG9tYWluKSB7CiAgICAgICAg
IGlmIChlbnRyeS52YWx1ZSA9PSAmcHJvY2VzcykKICAgICAgICAgICAgIHJlZ2lzdHJhYmxlRG9t
YWluc1RvUmVtb3ZlLmFwcGVuZChlbnRyeS5rZXkpOwpAQCAtMjIwOCw3ICsyMjA4LDcgQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiBwYWdl
LCBjb25zdCBBUEk6Ok5hdmlnYXQKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NGb3JOYXZp
Z2F0aW9uSW50ZXJuYWwoV2ViUGFnZVByb3h5JiBwYWdlLCBjb25zdCBBUEk6Ok5hdmlnYXRpb24m
IG5hdmlnYXRpb24sIFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgc291cmNlUHJvY2VzcywgY29uc3Qg
VVJMJiBwYWdlU291cmNlVVJMLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50IHByb2Nlc3NT
d2FwUmVxdWVzdGVkQnlDbGllbnQsIFJlZjxXZWJzaXRlRGF0YVN0b3JlPiYmIGRhdGFTdG9yZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBTdXNwZW5kZWRQ
YWdlUHJveHkqLCBjb25zdCBTdHJpbmcmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBh
dXRvJiB0YXJnZXRVUkwgPSBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCkudXJsKCk7Ci0gICAg
YXV0byByZWdpc3RyYWJsZURvbWFpbiA9IHRvUmVnaXN0cmFibGVEb21haW4odGFyZ2V0VVJMKTsK
KyAgICBhdXRvIHJlZ2lzdHJhYmxlRG9tYWluID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4g
eyB0YXJnZXRVUkwgfTsKIAogICAgIGF1dG8gY3JlYXRlTmV3UHJvY2VzcyA9IFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHBhZ2UgPSBtYWtlUmVmKHBhZ2UpLCB0YXJnZXRV
UkwsIHJlZ2lzdHJhYmxlRG9tYWluLCBkYXRhU3RvcmUgPSBkYXRhU3RvcmUuY29weVJlZigpXSAo
KSAtPiBSZWY8V2ViUHJvY2Vzc1Byb3h5PiB7CiAgICAgICAgIGlmIChhdXRvIHByb2Nlc3MgPSB3
ZWJQcm9jZXNzQ2FjaGUoKS50YWtlUHJvY2VzcyhyZWdpc3RyYWJsZURvbWFpbiwgZGF0YVN0b3Jl
KSkKQEAgLTIzMDIsNyArMjMwMiw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NGb3JO
YXZpZ2F0aW9uSW50ZXJuYWwoV2ViUGFnZVByb3h5JiBwYWdlLCBjb25zdCBBUEk6CiAgICAgU3Ry
aW5nIHJlYXNvbiA9ICJOYXZpZ2F0aW9uIGlzIGNyb3NzLXNpdGUiX3M7CiAgICAgCiAgICAgaWYg
KG1fY29uZmlndXJhdGlvbi0+YWx3YXlzS2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlcygpKSB7
Ci0gICAgICAgIExPRyhQcm9jZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBDb25zaWRl
cmluZyByZS11c2Ugb2YgYSBwcmV2aW91c2x5IGNhY2hlZCBwcm9jZXNzIGZvciBkb21haW4gJXMi
LCByZWdpc3RyYWJsZURvbWFpbi51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgTE9HKFByb2Nlc3NT
d2FwcGluZywgIihQcm9jZXNzU3dhcHBpbmcpIENvbnNpZGVyaW5nIHJlLXVzZSBvZiBhIHByZXZp
b3VzbHkgY2FjaGVkIHByb2Nlc3MgZm9yIGRvbWFpbiAlcyIsIHJlZ2lzdHJhYmxlRG9tYWluLnN0
cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIGlmIChhdXRvKiBwcm9jZXNzID0gbV9z
d2FwcGVkUHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4uZ2V0KHJlZ2lzdHJhYmxlRG9tYWlu
KSkgewogICAgICAgICAgICAgaWYgKCZwcm9jZXNzLT53ZWJzaXRlRGF0YVN0b3JlKCkgPT0gZGF0
YVN0b3JlLnB0cigpKSB7CkBAIC0yMzIyLDcgKzIzMjIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
Ojpwcm9jZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3Qg
QVBJOgogICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihjcmVhdGVOZXdQcm9jZXNzKCksIG51
bGxwdHIsIHJlYXNvbik7CiB9CiAKLVJlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQ
b29sOjpmaW5kUmV1c2FibGVTdXNwZW5kZWRQYWdlUHJvY2Vzcyhjb25zdCBTdHJpbmcmIHJlZ2lz
dHJhYmxlRG9tYWluLCBXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYnNpdGVEYXRhU3RvcmUmIGRhdGFT
dG9yZSkKK1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpmaW5kUmV1c2Fi
bGVTdXNwZW5kZWRQYWdlUHJvY2Vzcyhjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYg
cmVnaXN0cmFibGVEb21haW4sIFdlYlBhZ2VQcm94eSYgcGFnZSwgV2Vic2l0ZURhdGFTdG9yZSYg
ZGF0YVN0b3JlKQogewogICAgIGF1dG8gaXQgPSBtX3N1c3BlbmRlZFBhZ2VzLmZpbmRJZihbJl0o
YXV0byYgc3VzcGVuZGVkUGFnZSkgewogICAgICAgICByZXR1cm4gc3VzcGVuZGVkUGFnZS0+cmVn
aXN0cmFibGVEb21haW4oKSA9PSByZWdpc3RyYWJsZURvbWFpbiAmJiAmc3VzcGVuZGVkUGFnZS0+
cHJvY2VzcygpLndlYnNpdGVEYXRhU3RvcmUoKSA9PSAmZGF0YVN0b3JlOwpAQCAtMjQ0Niw3ICsy
NDQ2LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2VuZERpc3BsYXlDb25maWd1cmF0aW9uQ2hh
bmdlZE1lc3NhZ2VGb3JUZXN0aW5nKCkKICNlbmRpZgogfQogCi12b2lkIFdlYlByb2Nlc3NQb29s
OjpkaWRDb2xsZWN0UHJld2FybUluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYgcmVnaXN0cmFibGVE
b21haW4sIGNvbnN0IFdlYkNvcmU6OlByZXdhcm1JbmZvcm1hdGlvbiYgcHJld2FybUluZm9ybWF0
aW9uKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlkQ29sbGVjdFByZXdhcm1JbmZvcm1hdGlvbihj
b25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgcmVnaXN0cmFibGVEb21haW4sIGNvbnN0
IFdlYkNvcmU6OlByZXdhcm1JbmZvcm1hdGlvbiYgcHJld2FybUluZm9ybWF0aW9uKQogewogICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgbWF4aW11bVNpemVUb1ByZXZlbnRVbmxpbWl0ZWRHcm93dGgg
PSAxMDA7CiAgICAgaWYgKG1fcHJld2FybUluZm9ybWF0aW9uUGVyUmVnaXN0cmFibGVEb21haW4u
c2l6ZSgpID09IG1heGltdW1TaXplVG9QcmV2ZW50VW5saW1pdGVkR3Jvd3RoKQpAQCAtMjQ2MSw3
ICsyNDYxLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlkQ29sbGVjdFByZXdhcm1JbmZvcm1h
dGlvbihjb25zdCBTdHJpbmcmIHJlZ2lzdHJhYmxlRG9tYWkKIAogdm9pZCBXZWJQcm9jZXNzUG9v
bDo6dHJ5UHJld2FybVdpdGhEb21haW5JbmZvcm1hdGlvbihXZWJQcm9jZXNzUHJveHkmIHByb2Nl
c3MsIGNvbnN0IFVSTCYgdXJsKQogewotICAgIGF1dG8qIHByZXdhcm1JbmZvcm1hdGlvbiA9IG1f
cHJld2FybUluZm9ybWF0aW9uUGVyUmVnaXN0cmFibGVEb21haW4uZ2V0KHRvUmVnaXN0cmFibGVE
b21haW4odXJsKSk7CisgICAgYXV0byogcHJld2FybUluZm9ybWF0aW9uID0gbV9wcmV3YXJtSW5m
b3JtYXRpb25QZXJSZWdpc3RyYWJsZURvbWFpbi5nZXQoUmVnaXN0cmFibGVEb21haW4geyB1cmwg
fSk7CiAgICAgaWYgKCFwcmV3YXJtSW5mb3JtYXRpb24pCiAgICAgICAgIHJldHVybjsKICAgICBw
cm9jZXNzLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlByZXdhcm1XaXRoRG9tYWluSW5mb3Jt
YXRpb24oKnByZXdhcm1JbmZvcm1hdGlvbiksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmgKaW5kZXggZDk2ZDZlMGEzZjZmNmEyYmM5OGIyODQ5Yzk0ZmQ2NzZhZjA4
MmFlYy4uZDQwMjY3M2U0N2ExOTYxZDAwZGI0NGI4Y2YyZDk5ZTE1Y2Y2ZWQ5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC00NjcsMTMgKzQ2NywxMyBAQCBw
dWJsaWM6CiAgICAgdm9pZCByZW1vdmVTdXNwZW5kZWRQYWdlKFN1c3BlbmRlZFBhZ2VQcm94eSYp
OwogICAgIGJvb2wgaGFzU3VzcGVuZGVkUGFnZUZvcihXZWJQcm9jZXNzUHJveHkmLCBXZWJQYWdl
UHJveHkmKSBjb25zdDsKICAgICB1bnNpZ25lZCBtYXhTdXNwZW5kZWRQYWdlQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX21heFN1c3BlbmRlZFBhZ2VDb3VudDsgfQotICAgIFJlZlB0cjxXZWJQcm9j
ZXNzUHJveHk+IGZpbmRSZXVzYWJsZVN1c3BlbmRlZFBhZ2VQcm9jZXNzKGNvbnN0IFN0cmluZyYs
IFdlYlBhZ2VQcm94eSYsIFdlYnNpdGVEYXRhU3RvcmUmKTsKKyAgICBSZWZQdHI8V2ViUHJvY2Vz
c1Byb3h5PiBmaW5kUmV1c2FibGVTdXNwZW5kZWRQYWdlUHJvY2Vzcyhjb25zdCBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiYsIFdlYlBhZ2VQcm94eSYsIFdlYnNpdGVEYXRhU3RvcmUmKTsKIAog
ICAgIHZvaWQgY2xlYXJTdXNwZW5kZWRQYWdlcyhBbGxvd1Byb2Nlc3NDYWNoaW5nKTsKIAogICAg
IHZvaWQgZGlkUmVhY2hHb29kVGltZVRvUHJld2FybShXZWJzaXRlRGF0YVN0b3JlJik7CiAKLSAg
ICB2b2lkIGRpZENvbGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oY29uc3QgU3RyaW5nJiByZWdpc3Ry
YWJsZURvbWFpbiwgY29uc3QgV2ViQ29yZTo6UHJld2FybUluZm9ybWF0aW9uJik7CisgICAgdm9p
ZCBkaWRDb2xsZWN0UHJld2FybUluZm9ybWF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluJiwgY29uc3QgV2ViQ29yZTo6UHJld2FybUluZm9ybWF0aW9uJik7CiAKICAgICB2b2lk
IHNjcmVlblByb3BlcnRpZXNTdGF0ZUNoYW5nZWQoKTsKIApAQCAtNzUxLDkgKzc1MSw5IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9tYXhTdXNwZW5kZWRQYWdlQ291bnQgeyAwIH07CiAKICAg
ICBVbmlxdWVSZWY8V2ViUHJvY2Vzc0NhY2hlPiBtX3dlYlByb2Nlc3NDYWNoZTsKLSAgICBIYXNo
TWFwPFN0cmluZywgUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4+IG1fc3dhcHBlZFByb2Nlc3Nlc1Bl
clJlZ2lzdHJhYmxlRG9tYWluOworICAgIEhhc2hNYXA8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4sIFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+PiBtX3N3YXBwZWRQcm9jZXNzZXNQZXJSZWdpc3Ry
YWJsZURvbWFpbjsKIAotICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6UHJld2FybUluZm9ybWF0aW9uPj4gbV9wcmV3YXJtSW5mb3JtYXRpb25QZXJSZWdpc3RyYWJs
ZURvbWFpbjsKKyAgICBIYXNoTWFwPFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluLCBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6UHJld2FybUluZm9ybWF0aW9uPj4gbV9wcmV3YXJtSW5mb3JtYXRp
b25QZXJSZWdpc3RyYWJsZURvbWFpbjsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFdF
QlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9w
dHI8RGlzcGxheUxpbms+PiBtX2Rpc3BsYXlMaW5rczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDUwZGUyMTZmMmFjMjAyNGQ0NjM5NDIwMGUxYmEx
ODUxZGQ5YjZlMzcuLjkwMzBkZjIzNWMxOTQ3ZWJhZWFhMTMwYjU2YWIwMjBlNDRiYjRhNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtODM0LDkg
KzgzNCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWREZXN0cm95VXNlckdlc3R1cmVUb2tl
bih1aW50NjRfdCBpZGVudGlmaWVyKQogCiBib29sIFdlYlByb2Nlc3NQcm94eTo6Y2FuQmVBZGRl
ZFRvV2ViUHJvY2Vzc0NhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAocmVnaXN0cmFibGVEb21haW4o
KS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmIChpc1NlcnZpY2VX
b3JrZXJQcm9jZXNzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtODUxLDcgKzg0OCw3
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjptYXliZVNodXREb3duKEFsbG93UHJvY2Vzc0NhY2hp
bmcgYWxsb3dQcm9jZXNzQ2FjaGluZykKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6VGVybWlu
YXRlZCB8fCAhY2FuVGVybWluYXRlQXV4aWxpYXJ5UHJvY2VzcygpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAoYWxsb3dQcm9jZXNzQ2FjaGluZyA9PSBBbGxvd1Byb2Nlc3NDYWNoaW5nOjpZ
ZXMgJiYgY2FuQmVBZGRlZFRvV2ViUHJvY2Vzc0NhY2hlKCkgJiYgcHJvY2Vzc1Bvb2woKS53ZWJQ
cm9jZXNzQ2FjaGUoKS5hZGRQcm9jZXNzSWZQb3NzaWJsZShyZWdpc3RyYWJsZURvbWFpbigpLCAq
dGhpcykpCisgICAgaWYgKGFsbG93UHJvY2Vzc0NhY2hpbmcgPT0gQWxsb3dQcm9jZXNzQ2FjaGlu
Zzo6WWVzICYmIGNhbkJlQWRkZWRUb1dlYlByb2Nlc3NDYWNoZSgpICYmIHByb2Nlc3NQb29sKCku
d2ViUHJvY2Vzc0NhY2hlKCkuYWRkUHJvY2Vzc0lmUG9zc2libGUoKnRoaXMpKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBzaHV0RG93bigpOwpAQCAtMTQxNSw3ICsxNDEyLDcgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmRpZENoZWNrUHJvY2Vzc0xvY2FsUG9ydEZvckFjdGl2aXR5KHVpbnQ2NF90
IGNhbGxiYWNrSWRlbnQKICAgICBjYWxsYmFjayhpc0xvY2FsbHlSZWFjaGFibGUgPyBNZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlcjo6SGFzQWN0aXZpdHk6OlllcyA6IE1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyOjpIYXNBY3Rpdml0eTo6Tm8pOwogfQogCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6
ZGlkQ29sbGVjdFByZXdhcm1JbmZvcm1hdGlvbihjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3Qg
V2ViQ29yZTo6UHJld2FybUluZm9ybWF0aW9uJiBwcmV3YXJtSW5mb3JtYXRpb24pCit2b2lkIFdl
YlByb2Nlc3NQcm94eTo6ZGlkQ29sbGVjdFByZXdhcm1JbmZvcm1hdGlvbihjb25zdCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYgZG9tYWluLCBjb25zdCBXZWJDb3JlOjpQcmV3YXJtSW5mb3Jt
YXRpb24mIHByZXdhcm1JbmZvcm1hdGlvbikKIHsKICAgICBwcm9jZXNzUG9vbCgpLmRpZENvbGxl
Y3RQcmV3YXJtSW5mb3JtYXRpb24oZG9tYWluLCBwcmV3YXJtSW5mb3JtYXRpb24pOwogfQpAQCAt
MTQzMCwxMyArMTQyNywxMyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JNYWluRnJhbWUoY29uc3QgVVJMJiB1cmwpCiAgICAgUkVMRUFTRV9BU1NFUlQo
IWlzSW5Qcm9jZXNzQ2FjaGUoKSk7CiAKICAgICAvLyBUaGlzIHByb2Nlc3MgaGFzIGJlZW4gdXNl
ZCBmb3Igc2V2ZXJhbCByZWdpc3RyYWJsZSBkb21haW5zIGFscmVhZHkuCi0gICAgaWYgKG1fcmVn
aXN0cmFibGVEb21haW4gJiYgbV9yZWdpc3RyYWJsZURvbWFpbi0+aXNOdWxsKCkpCisgICAgaWYg
KG1fcmVnaXN0cmFibGVEb21haW4gJiYgbV9yZWdpc3RyYWJsZURvbWFpbi0+aXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIHJlZ2lzdHJhYmxlRG9tYWluID0gdG9SZWdpc3Ry
YWJsZURvbWFpbih1cmwpOworICAgIGF1dG8gcmVnaXN0cmFibGVEb21haW4gPSBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiB7IHVybCB9OwogICAgIGlmIChtX3JlZ2lzdHJhYmxlRG9tYWluICYm
ICptX3JlZ2lzdHJhYmxlRG9tYWluICE9IHJlZ2lzdHJhYmxlRG9tYWluKSB7CiAgICAgICAgIC8v
IE51bGwgb3V0IHJlZ2lzdHJhYmxlIGRvbWFpbiBzaW5jZSB0aGlzIHByb2Nlc3MgaGFzIG5vdyBi
ZWVuIHVzZWQgZm9yIHNldmVyYWwgZG9tYWlucy4KLSAgICAgICAgbV9yZWdpc3RyYWJsZURvbWFp
biA9IFN0cmluZygpOworICAgICAgICBtX3JlZ2lzdHJhYmxlRG9tYWluID0gV2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4geyB9OwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGUzZDhmOGY1MjIzNTU2ZmVlNGQx
ZWY0MmRhMmVhZTUzZGVlOWFiMmIuLjI1ODEwMmIwMDc1N2NkNDFmMTlmNmFmYzA0NWZhYjk0NmNi
ZGFmZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC00
MSw2ICs0MSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRl
ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVzc2FnZVBvcnRJZGVudGlmaWVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVnaXN0
cmFibGVEb21haW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFN0cmluZ0hhc2guaD4KICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgpAQCAtMTE0LDcgKzEx
NSw3IEBAIHB1YmxpYzoKIAogICAgIFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCgpIGNvbnN0
IHsgQVNTRVJUKG1fcHJvY2Vzc1Bvb2wpOyByZXR1cm4gKm1fcHJvY2Vzc1Bvb2wuZ2V0KCk7IH0K
IAotICAgIFN0cmluZyByZWdpc3RyYWJsZURvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0
cmFibGVEb21haW4udmFsdWVPcihTdHJpbmcoKSk7IH0KKyAgICBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiByZWdpc3RyYWJsZURvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0cmFibGVE
b21haW4udmFsdWVPcihXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB7IH0pOyB9CiAgICAgdm9p
ZCBzZXRJc0luUHJvY2Vzc0NhY2hlKGJvb2wpOwogICAgIGJvb2wgaXNJblByb2Nlc3NDYWNoZSgp
IGNvbnN0IHsgcmV0dXJuIG1faXNJblByb2Nlc3NDYWNoZTsgfQogCkBAIC0zNzEsNyArMzcyLDcg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgY2FuVGVybWluYXRlQXV4aWxpYXJ5UHJvY2VzcygpOwog
Ci0gICAgdm9pZCBkaWRDb2xsZWN0UHJld2FybUluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYgZG9t
YWluLCBjb25zdCBXZWJDb3JlOjpQcmV3YXJtSW5mb3JtYXRpb24mKTsKKyAgICB2b2lkIGRpZENv
bGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4m
LCBjb25zdCBXZWJDb3JlOjpQcmV3YXJtSW5mb3JtYXRpb24mKTsKIAogICAgIHZvaWQgbG9nRGlh
Z25vc3RpY01lc3NhZ2VGb3JSZXNvdXJjZUxpbWl0VGVybWluYXRpb24oY29uc3QgU3RyaW5nJiBs
aW1pdEtleSk7CiAKQEAgLTQzNCw3ICs0MzUsNyBAQCBwcml2YXRlOgogCiAgICAgSGFzaE1hcDxT
dHJpbmcsIHVpbnQ2NF90PiBtX3BhZ2VVUkxSZXRhaW5Db3VudE1hcDsKIAotICAgIE9wdGlvbmFs
PFN0cmluZz4gbV9yZWdpc3RyYWJsZURvbWFpbjsKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbj4gbV9yZWdpc3RyYWJsZURvbWFpbjsKICAgICBib29sIG1faXNJblByb2Nl
c3NDYWNoZSB7IGZhbHNlIH07CiAKICAgICBlbnVtIGNsYXNzIE5vT3JNYXliZSB7IE5vLCBNYXli
ZSB9IG1faXNSZXNwb25zaXZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDc4Yjk2MTg0NDBjZjIxZGJkNzAzZTQ0YmE1
OTk1ZDFjMDk4ZmRhMjAuLjJjODJlZTZkOGI4MDNiN2I3NTg0NzIwNTUzMmU1ODU0MDlkMTFiYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KQEAgLTY0LDcgKzY0LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExl
Z2FjeVJlY2VpdmVyIHsKICAgICBEaWREZWxpdmVyTWVzc2FnZVBvcnRNZXNzYWdlcyh1aW50NjRf
dCBtZXNzYWdlQmF0Y2hJZGVudGlmaWVyKQogICAgIERpZENoZWNrUHJvY2Vzc0xvY2FsUG9ydEZv
ckFjdGl2aXR5KHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgYm9vbCBpc0xvY2FsbHlSZWFj
aGFibGUpCiAKLSAgICBEaWRDb2xsZWN0UHJld2FybUluZm9ybWF0aW9uKFN0cmluZyBkb21haW4s
IHN0cnVjdCBXZWJDb3JlOjpQcmV3YXJtSW5mb3JtYXRpb24gcHJld2FybUluZm9ybWF0aW9uKQor
ICAgIERpZENvbGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4gZG9tYWluLCBzdHJ1Y3QgV2ViQ29yZTo6UHJld2FybUluZm9ybWF0aW9uIHByZXdhcm1JbmZv
cm1hdGlvbikKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIENhY2hlTWVkaWFNSU1FVHlwZXMo
VmVjdG9yPFN0cmluZz4gdHlwZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggYzFlNDRmMTE4N2Q0MzBlYTNmYmNjZWQ5ZmNiMjI2NmIxNjA5MWZmNC4uNjljYjll
NDIwNjFhMjNlZDJkYzE4ZGJhODg4NmMxNWE0NjJjOTA5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTU3NSw3ICsxNTc1LDcgQEAgdm9pZCBXZWJQcm9jZXNz
Ojpwcm9jZXNzRGlkUmVzdW1lKCkKIAogdm9pZCBXZWJQcm9jZXNzOjpzZW5kUHJld2FybUluZm9y
bWF0aW9uKGNvbnN0IFVSTCYgdXJsKQogewotICAgIGF1dG8gcmVnaXN0cmFibGVEb21haW4gPSB0
b1JlZ2lzdHJhYmxlRG9tYWluKHVybCk7CisgICAgYXV0byByZWdpc3RyYWJsZURvbWFpbiA9IFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHsgdXJsIH07CiAgICAgaWYgKHJlZ2lzdHJhYmxlRG9t
YWluLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHBhcmVudFByb2Nlc3NDb25uZWN0
aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkQ29sbGVjdFByZXdhcm1J
bmZvcm1hdGlvbihyZWdpc3RyYWJsZURvbWFpbiwgV2ViQ29yZTo6UHJvY2Vzc1dhcm1pbmc6OmNv
bGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oKSksIDApOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>