<?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>233338</bug_id>
          
          <creation_ts>2021-11-18 15:40:49 -0800</creation_ts>
          <short_desc>Allow all redirect schemes when compiling a content rule list</short_desc>
          <delta_ts>2021-11-18 17:36:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816662</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-11-18 15:40:49 -0800</bug_when>
    <thetext>Allow all redirect schemes when compiling a content rule list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816665</commentid>
    <comment_count>1</comment_count>
      <attachid>444747</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-11-18 15:43:44 -0800</bug_when>
    <thetext>Created attachment 444747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816666</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-11-18 15:44:57 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816706</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-11-18 17:35:51 -0800</bug_when>
    <thetext>http://trac.webkit.org/r286041</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816707</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-18 17:36:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/85576309&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444747</attachid>
            <date>2021-11-18 15:43:44 -0800</date>
            <delta_ts>2021-11-18 17:36:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233338-20211118154343.patch</filename>
            <type>text/plain</type>
            <size>36298</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU5NzBhZjE3ZWJjMjJh
NGY0MWViZjZiMTlmOTFhZThjNDAxZWMzNi4uNzI5NGNkNzYzZWViMDkzY2E1NGJiM2Q1ZDYwNTZm
YzU4ZGU1MGEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTExLTE4ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWxsb3cg
YWxsIHJlZGlyZWN0IHNjaGVtZXMgd2hlbiBjb21waWxpbmcgYSBjb250ZW50IHJ1bGUgbGlzdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzM4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hhdCB3YXMg
SSB0aGlua2luZz8gIEkgbWFkZSBhbiBTUEkgdGhhdCBnaXZlcyB5b3UgYSBzZXQgb2YgYWxsb3dl
ZCByZWRpcmVjdCBzY2hlbWVzCisgICAgICAgIGZyb20gdGhlIHNhbWUgc291cmNlIGFzIHRoZSBK
U09OIHdoaWNoIGNvbnRhaW5zIHRob3NlIHJlZGlyZWN0IHNjaGVtZXMuICBUaGlzIGFsbG93cwor
ICAgICAgICBhbGwgcmVkaXJlY3Qgc2NoZW1lcy4gIElmIHlvdSB3YW50IHRvIHByZXZlbnQgcmVk
aXJlY3RpbmcgdG8gYSBjZXJ0YWluIHNjaGVtZSwgdGhlbgorICAgICAgICBkb24ndCBjb21waWxl
IEpTT04gdGhhdCByZWRpcmVjdHMgdG8gdGhhdCBzY2hlbWUuICBXZSBtYXkgd2FudCBhIGhlbHBl
ciBmdW5jdGlvbiB0aGF0CisgICAgICAgIHVzZXMgdGhlIHNhbWUgcGFyc2VyIHRvIGdldCB0aGUg
c2V0IG9mIHNjaGVtZXMgYmVpbmcgcmVkaXJlY3RlZCB0bywgYnV0IHJpZ2h0IG5vdyB0aGF0Cisg
ICAgICAgIGlzIG5vdCBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgSlNPTiBpcyBiZWluZyBhc3NlbWJs
ZWQgYnkgYSBwcm9ncmFtIHRoYXQgaGFzIHRoZSBhYmlsaXR5CisgICAgICAgIHRvIGNoZWNrIHRo
ZSBzY2hlbWVzLgorCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lv
bkFjdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OlJlZGly
ZWN0QWN0aW9uOjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6
UmVkaXJlY3RBY3Rpb246OlVSTFRyYW5zZm9ybUFjdGlvbjo6cGFyc2UpOgorICAgICAgICAqIGNv
bnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25BY3Rpb25zLmg6CisgICAgICAgICogY29u
dGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpjb21waWxlUnVsZUxpc3QpOgorICAgICAgICAqIGNv
bnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25FcnJvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Y29udGVudEV4dGVuc2lvbkVycm9yQ2F0ZWdvcnkpOgor
ICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25FcnJvci5oOgorICAg
ICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25QYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OmxvYWRBY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OmxvYWRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRFeHRlbnNpb25zOjpsb2FkRW5jb2RlZFJ1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRFeHRlbnNpb25zOjpwYXJzZVJ1bGVMaXN0KToKKyAgICAgICAgKiBjb250ZW50ZXh0
ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUGFyc2VyLmg6CisKIDIwMjEtMTEtMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQg
bW9zdCBvZiByZWRpcmVjdCBhbmQgbW9kaWZ5LWhlYWRlcnMgYWN0aW9uIHR5cGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDhhOWVjNDI2M2I3M2ZlYjVhZTJjZTFlZmIxNmMzY2ExNzliMDgwM2EuLjJhOWI2N2IzOWVk
Yzc0OTI2YTIzNmE2ZGVkZWE4MjBiMzdjYjE4ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMjEtMTEtMTggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
KworICAgICAgICBBbGxvdyBhbGwgcmVkaXJlY3Qgc2NoZW1lcyB3aGVuIGNvbXBpbGluZyBhIGNv
bnRlbnQgcnVsZSBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzMzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuY3BwOgorICAg
ICAgICAoQVBJOjpDb250ZW50UnVsZUxpc3RTdG9yZTo6bG9va3VwQ29udGVudFJ1bGVMaXN0KToK
KyAgICAgICAgKEFQSTo6Q29udGVudFJ1bGVMaXN0U3RvcmU6OmNvbXBpbGVDb250ZW50UnVsZUxp
c3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUmVm
LmNwcDoKKyAgICAgICAgKFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUNvbXBpbGUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxpc3RTdG9yZS5tbToKKyAg
ICAgICAgKC1bV0tDb250ZW50UnVsZUxpc3RTdG9yZSBjb21waWxlQ29udGVudFJ1bGVMaXN0Rm9y
SWRlbnRpZmllcjplbmNvZGVkQ29udGVudFJ1bGVMaXN0OmNvbXBsZXRpb25IYW5kbGVyOl0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIF9jb21waWxlQ29udGVudFJ1bGVMaXN0
Rm9ySWRlbnRpZmllcjplbmNvZGVkQ29udGVudFJ1bGVMaXN0OmFsbG93ZWRSZWRpcmVjdFNjaGVt
ZXM6Y29tcGxldGlvbkhhbmRsZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVudEZpbHRlclN0b3JlLmNwcDoKKyAgICAgICAg
KHdlYmtpdFVzZXJDb250ZW50RmlsdGVyU3RvcmVTYXZlQnl0ZXMpOgorCiAyMDIxLTExLTE3ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1w
bGVtZW50IG1vc3Qgb2YgcmVkaXJlY3QgYW5kIG1vZGlmeS1oZWFkZXJzIGFjdGlvbiB0eXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbkFjdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbkFjdGlvbnMuY3BwCmluZGV4IGRiMjE1MTQzYWIzZTk4NTEwMTA1NmM1MDRiNDY4
MzQ0Njk5NThlNTMuLmYzOWY2ZDQ4ZWRlNTNjYTYzOWUwN2U4NGE3MGQ3OGY1NzZkYzQxMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNp
b25BY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uQWN0aW9ucy5jcHAKQEAgLTI3OSw3ICsyNzksNyBAQCBzaXplX3QgTW9kaWZ5
SGVhZGVyc0FjdGlvbjo6TW9kaWZ5SGVhZGVySW5mbzo6c2VyaWFsaXplZExlbmd0aChTcGFuPGNv
bnN0IHVpbnQ4XwogICAgIHJldHVybiBkZXNlcmlhbGl6ZUxlbmd0aChzcGFuLCAwKTsKIH0KIAot
RXhwZWN0ZWQ8UmVkaXJlY3RBY3Rpb24sIHN0ZDo6ZXJyb3JfY29kZT4gUmVkaXJlY3RBY3Rpb246
OnBhcnNlKGNvbnN0IEpTT046Ok9iamVjdCYgcmVkaXJlY3RPYmplY3QsIGNvbnN0IHN0ZDo6b3B0
aW9uYWw8SGFzaFNldDxTdHJpbmc+PiYgYWxsb3dlZFJlZGlyZWN0VVJMU2NoZW1lcykKK0V4cGVj
dGVkPFJlZGlyZWN0QWN0aW9uLCBzdGQ6OmVycm9yX2NvZGU+IFJlZGlyZWN0QWN0aW9uOjpwYXJz
ZShjb25zdCBKU09OOjpPYmplY3QmIHJlZGlyZWN0T2JqZWN0KQogewogICAgIGF1dG8gcmVkaXJl
Y3QgPSByZWRpcmVjdE9iamVjdC5nZXRPYmplY3QoInJlZGlyZWN0Iik7CiAgICAgaWYgKCFyZWRp
cmVjdCkKQEAgLTI5NSw3ICsyOTUsNyBAQCBFeHBlY3RlZDxSZWRpcmVjdEFjdGlvbiwgc3RkOjpl
cnJvcl9jb2RlPiBSZWRpcmVjdEFjdGlvbjo6cGFyc2UoY29uc3QgSlNPTjo6T2JqZQogICAgICAg
ICByZXR1cm4gUmVkaXJlY3RBY3Rpb24geyBSZWdleFN1YnN0aXR1dGlvbkFjdGlvbiB7IFdURk1v
dmUocmVnZXhTdWJzdGl0dXRpb24pIH0gfTsKIAogICAgIGlmIChhdXRvIHRyYW5zZm9ybSA9IHJl
ZGlyZWN0LT5nZXRPYmplY3QoInRyYW5zZm9ybSIpKSB7Ci0gICAgICAgIGF1dG8gcGFyc2VkVHJh
bnNmb3JtID0gVVJMVHJhbnNmb3JtQWN0aW9uOjpwYXJzZSgqdHJhbnNmb3JtLCBhbGxvd2VkUmVk
aXJlY3RVUkxTY2hlbWVzKTsKKyAgICAgICAgYXV0byBwYXJzZWRUcmFuc2Zvcm0gPSBVUkxUcmFu
c2Zvcm1BY3Rpb246OnBhcnNlKCp0cmFuc2Zvcm0pOwogICAgICAgICBpZiAoIXBhcnNlZFRyYW5z
Zm9ybSkKICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChwYXJzZWRUcmFuc2Zvcm0u
ZXJyb3IoKSk7CiAgICAgICAgIHJldHVybiBSZWRpcmVjdEFjdGlvbiB7IFdURk1vdmUoKnBhcnNl
ZFRyYW5zZm9ybSkgfTsKQEAgLTMwNSw4ICszMDUsOCBAQCBFeHBlY3RlZDxSZWRpcmVjdEFjdGlv
biwgc3RkOjplcnJvcl9jb2RlPiBSZWRpcmVjdEFjdGlvbjo6cGFyc2UoY29uc3QgSlNPTjo6T2Jq
ZQogICAgICAgICBhdXRvIHVybCA9IFVSTChVUkwoKSwgdXJsU3RyaW5nKTsKICAgICAgICAgaWYg
KCF1cmwuaXNWYWxpZCgpKQogICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKENvbnRl
bnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0VVJMSW52YWxpZCk7Ci0gICAgICAgIGlmIChh
bGxvd2VkUmVkaXJlY3RVUkxTY2hlbWVzICYmICFhbGxvd2VkUmVkaXJlY3RVUkxTY2hlbWVzLT5j
b250YWlucyh1cmwucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKQotICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJl
ZGlyZWN0VVJMU2NoZW1lTm90QWxsb3dlZCk7CisgICAgICAgIGlmICh1cmwucHJvdG9jb2xJc0ph
dmFTY3JpcHQoKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChDb250ZW50RXh0
ZW5zaW9uRXJyb3I6OkpTT05SZWRpcmVjdFRvSmF2YVNjcmlwdFVSTCk7CiAgICAgICAgIHJldHVy
biBSZWRpcmVjdEFjdGlvbiB7IFVSTEFjdGlvbiB7IFdURk1vdmUodXJsU3RyaW5nKSB9IH07CiAg
ICAgfQogCkBAIC0zODMsNyArMzgzLDcgQEAgdm9pZCBSZWRpcmVjdEFjdGlvbjo6YXBwbHlUb1Jl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIH0pLCBhY3Rpb24pOwogfQogCi1h
dXRvIFJlZGlyZWN0QWN0aW9uOjpVUkxUcmFuc2Zvcm1BY3Rpb246OnBhcnNlKGNvbnN0IEpTT046
Ok9iamVjdCYgdHJhbnNmb3JtLCBjb25zdCBzdGQ6Om9wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nPj4m
IGFsbG93ZWRSZWRpcmVjdFVSTFNjaGVtZXMpIC0+IEV4cGVjdGVkPFVSTFRyYW5zZm9ybUFjdGlv
biwgc3RkOjplcnJvcl9jb2RlPgorYXV0byBSZWRpcmVjdEFjdGlvbjo6VVJMVHJhbnNmb3JtQWN0
aW9uOjpwYXJzZShjb25zdCBKU09OOjpPYmplY3QmIHRyYW5zZm9ybSkgLT4gRXhwZWN0ZWQ8VVJM
VHJhbnNmb3JtQWN0aW9uLCBzdGQ6OmVycm9yX2NvZGU+CiB7CiAgICAgVVJMVHJhbnNmb3JtQWN0
aW9uIGFjdGlvbjsKICAgICBpZiAoYXV0byBmcmFnbWVudCA9IHRyYW5zZm9ybS5nZXRTdHJpbmco
ImZyYWdtZW50Iik7ICEhZnJhZ21lbnQpIHsKQEAgLTQxMCw4ICs0MTAsOCBAQCBhdXRvIFJlZGly
ZWN0QWN0aW9uOjpVUkxUcmFuc2Zvcm1BY3Rpb246OnBhcnNlKGNvbnN0IEpTT046Ok9iamVjdCYg
dHJhbnNmb3JtLCBjbwogICAgICAgICBhdXRvIHNjaGVtZSA9IFdURjo6VVJMUGFyc2VyOjptYXli
ZUNhbm9uaWNhbGl6ZVNjaGVtZSh1bmNhbm9uaWNhbGl6ZWRTY2hlbWUpOwogICAgICAgICBpZiAo
IXNjaGVtZSkKICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChDb250ZW50RXh0ZW5z
aW9uRXJyb3I6OkpTT05SZWRpcmVjdFVSTFNjaGVtZUludmFsaWQpOwotICAgICAgICBpZiAoYWxs
b3dlZFJlZGlyZWN0VVJMU2NoZW1lcyAmJiAhYWxsb3dlZFJlZGlyZWN0VVJMU2NoZW1lcy0+Y29u
dGFpbnMoKnNjaGVtZSkpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoQ29udGVu
dEV4dGVuc2lvbkVycm9yOjpKU09OUmVkaXJlY3RVUkxTY2hlbWVOb3RBbGxvd2VkKTsKKyAgICAg
ICAgaWYgKHNjaGVtZSA9PSAiamF2YXNjcmlwdCIpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVu
ZXhwZWN0ZWQoQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OUmVkaXJlY3RUb0phdmFTY3JpcHRV
UkwpOwogICAgICAgICBhY3Rpb24uc2NoZW1lID0gV1RGTW92ZSgqc2NoZW1lKTsKICAgICB9CiAg
ICAgYWN0aW9uLnVzZXJuYW1lID0gdHJhbnNmb3JtLmdldFN0cmluZygidXNlcm5hbWUiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNp
b25BY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0
ZW5zaW9uQWN0aW9ucy5oCmluZGV4IGJmZTg0MjZiNjU1MmI3YmY2M2ZhZWU5NDkzN2ZkZTBiOTdk
MGY2OGQuLjE1NjQyOTNiNDAwNmJjOGYyNWU4ZjE5ODhlYTllZTYwNTM5NzU0NWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25BY3Rp
b25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbkFjdGlvbnMuaApAQCAtMjA3LDcgKzIwNyw3IEBAIHN0cnVjdCBXRUJDT1JFX0VYUE9SVCBS
ZWRpcmVjdEFjdGlvbiB7CiAgICAgICAgIFN0cmluZyB1c2VybmFtZTsKIAogICAgICAgICB1aW50
MzJfdCBoYXNoKCkgY29uc3QgeyByZXR1cm4gY29tcHV0ZUhhc2goZnJhZ21lbnQuaGFzaCgpLCBo
b3N0Lmhhc2goKSwgcGFzc3dvcmQuaGFzaCgpLCBwYXRoLmhhc2goKSwgcG9ydCwgVmFyaWFudEhh
c2hlcjo6aGFzaChxdWVyeVRyYW5zZm9ybSksIHNjaGVtZS5oYXNoKCksIHVzZXJuYW1lLmhhc2go
KSk7IH0KLSAgICAgICAgc3RhdGljIEV4cGVjdGVkPFVSTFRyYW5zZm9ybUFjdGlvbiwgc3RkOjpl
cnJvcl9jb2RlPiBwYXJzZShjb25zdCBKU09OOjpPYmplY3QmLCBjb25zdCBzdGQ6Om9wdGlvbmFs
PEhhc2hTZXQ8U3RyaW5nPj4mKTsKKyAgICAgICAgc3RhdGljIEV4cGVjdGVkPFVSTFRyYW5zZm9y
bUFjdGlvbiwgc3RkOjplcnJvcl9jb2RlPiBwYXJzZShjb25zdCBKU09OOjpPYmplY3QmKTsKICAg
ICAgICAgVVJMVHJhbnNmb3JtQWN0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogICAgICAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgVVJMVHJhbnNmb3JtQWN0aW9uJikgY29uc3Q7CiAgICAgICAg
IHZvaWQgc2VyaWFsaXplKFZlY3Rvcjx1aW50OF90PiYpIGNvbnN0OwpAQCAtMjM4LDcgKzIzOCw3
IEBAIHN0cnVjdCBXRUJDT1JFX0VYUE9SVCBSZWRpcmVjdEFjdGlvbiB7CiAgICAgYm9vbCBpc0Rl
bGV0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGhhc2hUYWJsZVR5cGUgPT0gSGFzaFRhYmxlVHlw
ZTo6RGVsZXRlZDsgfQogICAgIHVpbnQzMl90IGhhc2goKSBjb25zdCB7IHJldHVybiBWYXJpYW50
SGFzaGVyOjpoYXNoKGFjdGlvbik7IH0KIAotICAgIHN0YXRpYyBFeHBlY3RlZDxSZWRpcmVjdEFj
dGlvbiwgc3RkOjplcnJvcl9jb2RlPiBwYXJzZShjb25zdCBKU09OOjpPYmplY3QmLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nPj4mKTsKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVk
aXJlY3RBY3Rpb24sIHN0ZDo6ZXJyb3JfY29kZT4gcGFyc2UoY29uc3QgSlNPTjo6T2JqZWN0Jik7
CiAgICAgUmVkaXJlY3RBY3Rpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAgICAgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IFJlZGlyZWN0QWN0aW9uJikgY29uc3Q7CiAgICAgdm9pZCBzZXJpYWxpemUo
VmVjdG9yPHVpbnQ4X3Q+JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250
ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcAppbmRleCBj
MGE4OGQzMTc1MzhkYjIxZWY2ZmU3N2JmYTdhNzJlODZlZTU3ZDI3Li40OTM3MjIxYTc1MDdiN2Y4
MTZkNDNiOTk0MjAzN2I4OWQ2ZDNiMTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb250
ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAKQEAg
LTI3NSw3ICsyNzUsNyBAQCBzdGQ6OmVycm9yX2NvZGUgY29tcGlsZVJ1bGVMaXN0KENvbnRlbnRF
eHRlbnNpb25Db21waWxhdGlvbkNsaWVudCYgY2xpZW50LCBTdHJpbgogewogI2lmIEFTU0VSVF9F
TkFCTEVECiAgICAgY2FsbE9uTWFpblRocmVhZChbcnVsZUpTT04gPSBydWxlSlNPTi5pc29sYXRl
ZENvcHkoKSwgcGFyc2VkUnVsZUxpc3QgPSBwYXJzZWRSdWxlTGlzdC5pc29sYXRlZENvcHkoKV0g
ewotICAgICAgICBBU1NFUlQocGFyc2VSdWxlTGlzdChydWxlSlNPTiwgc3RkOjpudWxsb3B0KS52
YWx1ZSgpID09IHBhcnNlZFJ1bGVMaXN0KTsKKyAgICAgICAgQVNTRVJUKHBhcnNlUnVsZUxpc3Qo
cnVsZUpTT04pLnZhbHVlKCkgPT0gcGFyc2VkUnVsZUxpc3QpOwogICAgIH0pOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRl
bnNpb25FcnJvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50
RXh0ZW5zaW9uRXJyb3IuY3BwCmluZGV4IDc0MzViZTdlMWVhZTI0NDcyNDk1NjgxMjA2YWM5MmQ3
ZGZmMTJiM2QuLjU4ZmJiOTg0MmExNTZjYmU1NGI5OWY4Mzk0NTBjYWNmMzgwMmU0NDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25F
cnJvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4
dGVuc2lvbkVycm9yLmNwcApAQCAtMTAxLDEyICsxMDEsMTAgQEAgY29uc3Qgc3RkOjplcnJvcl9j
YXRlZ29yeSYgY29udGVudEV4dGVuc2lvbkVycm9yQ2F0ZWdvcnkoKQogICAgICAgICAgICAgICAg
IHJldHVybiAiTWVtYmVycyBvZiB0aGUgYWRkLW9yLXJlcGxhY2UtcGFyYW1ldGVycyBhcnJheSBt
dXN0IGNvbnRhaW4gYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaW5nIjsKICAgICAgICAgICAgIGNhc2Ug
Q29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OUmVkaXJlY3RFeHRlbnNpb25QYXRoRG9lc05vdFN0
YXJ0V2l0aFNsYXNoOgogICAgICAgICAgICAgICAgIHJldHVybiAiQSByZWRpcmVjdCBleHRlbnNp
b24gcGF0aCBtdXN0IHN0YXJ0IHdpdGggYSBzbGFzaCI7Ci0gICAgICAgICAgICBjYXNlIENvbnRl
bnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0VVJMU2NoZW1lTm90QWxsb3dlZDoKLSAgICAg
ICAgICAgICAgICByZXR1cm4gIkEgcmVkaXJlY3QgdXJsIHNjaGVtZSBtdXN0IGJlIGluIHRoZSBz
ZXQgb2YgYWxsb3dlZCBzY2hlbWVzIjsKICAgICAgICAgICAgIGNhc2UgQ29udGVudEV4dGVuc2lv
bkVycm9yOjpKU09OUmVkaXJlY3RVUkxTY2hlbWVJbnZhbGlkOgogICAgICAgICAgICAgICAgIHJl
dHVybiAiQSByZWRpcmVjdCB1cmwgc2NoZW1lIG11c3QgYmUgYSB2YWxpZCBzY2hlbWUiOwotICAg
ICAgICAgICAgY2FzZSBDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05SZWRpcmVjdFVSTFNjaGVt
ZXNTaG91bGROb3RJbmNsdWRlSmF2YXNjcmlwdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gIlRo
ZSBzZXQgb2YgYWxsb3dlZCByZWRpcmVjdCBzY2hlbWVzIHNob3VsZG4ndCBpbmNsdWRlIGphdmFz
Y3JpcHQiOworICAgICAgICAgICAgY2FzZSBDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05SZWRp
cmVjdFRvSmF2YVNjcmlwdFVSTDoKKyAgICAgICAgICAgICAgICByZXR1cm4gIkEgcmVkaXJlY3Qg
dXJsIGNhbid0IGhhdmUgYSBzY2hlbWUgb2YgamF2YXNjcmlwdCI7CiAgICAgICAgICAgICBjYXNl
IENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0VVJMSW52YWxpZDoKICAgICAgICAg
ICAgICAgICByZXR1cm4gIkEgcmVkaXJlY3QgdXJsIG11c3QgYmUgdmFsaWQiOwogICAgICAgICAg
ICAgY2FzZSBDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05SZWRpcmVjdEludmFsaWRUeXBlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbkVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0
ZW5zaW9uRXJyb3IuaAppbmRleCA5MjY3NWY0OGFhZGU3MDQ0NzhhMmI2N2Q4YmEwMTgzY2RhZjY4
MTBlLi5hYWZmYjZmODkzMDRlNjA0YWVkZmI2YWMzOGJiNmZhMjkwNDQ1NWViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uRXJyb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
RXJyb3IuaApAQCAtNjEsOCArNjEsNyBAQCBlbnVtIGNsYXNzIENvbnRlbnRFeHRlbnNpb25FcnJv
ciB7CiAgICAgSlNPTlJlZGlyZWN0TWlzc2luZywKICAgICBKU09OUmVkaXJlY3RFeHRlbnNpb25Q
YXRoRG9lc05vdFN0YXJ0V2l0aFNsYXNoLAogICAgIEpTT05SZWRpcmVjdFVSTFNjaGVtZUludmFs
aWQsCi0gICAgSlNPTlJlZGlyZWN0VVJMU2NoZW1lTm90QWxsb3dlZCwKLSAgICBKU09OUmVkaXJl
Y3RVUkxTY2hlbWVzU2hvdWxkTm90SW5jbHVkZUphdmFzY3JpcHQsCisgICAgSlNPTlJlZGlyZWN0
VG9KYXZhU2NyaXB0VVJMLAogICAgIEpTT05SZWRpcmVjdFVSTEludmFsaWQsCiAgICAgSlNPTlJl
ZGlyZWN0SW52YWxpZFR5cGUsCiAgICAgSlNPTlJlZGlyZWN0SW52YWxpZFBvcnQsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNp
b25QYXJzZXIuY3BwCmluZGV4IDc5NWVkNjcwZGQwMjZlYmRjY2NiMjJkOWNiNzQwODAxZjgxOTMz
YTAuLmJkNWNkMmZkYzRjMmNkMjcxZmZjZjAxZTNmNGZiMDE2MjdkYTk5ZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25QYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNp
b25QYXJzZXIuY3BwCkBAIC0xNzksNyArMTc5LDcgQEAgYm9vbCBpc1ZhbGlkQ1NTU2VsZWN0b3Io
Y29uc3QgU3RyaW5nJiBzZWxlY3RvcikKICAgICByZXR1cm4gISFwYXJzZXIucGFyc2VTZWxlY3Rv
cihzZWxlY3Rvcik7CiB9CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4cGVjdGVkPEFjdGlvbiwg
c3RkOjplcnJvcl9jb2RlPj4gbG9hZEFjdGlvbihjb25zdCBKU09OOjpPYmplY3QmIHJ1bGVPYmpl
Y3QsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8SGFzaFNldDxTdHJpbmc+PiYgYWxsb3dlZFJlZGlyZWN0
VVJMU2NoZW1lcykKK3N0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4cGVjdGVkPEFjdGlvbiwgc3RkOjpl
cnJvcl9jb2RlPj4gbG9hZEFjdGlvbihjb25zdCBKU09OOjpPYmplY3QmIHJ1bGVPYmplY3QpCiB7
CiAgICAgYXV0byBhY3Rpb25PYmplY3QgPSBydWxlT2JqZWN0LmdldE9iamVjdCgiYWN0aW9uIik7
CiAgICAgaWYgKCFhY3Rpb25PYmplY3QpCkBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIHN0ZDo6
b3B0aW9uYWw8RXhwZWN0ZWQ8QWN0aW9uLCBzdGQ6OmVycm9yX2NvZGU+PiBsb2FkQWN0aW9uKGNv
bnN0IEpTT046Ok8KICAgICAgICAgcmV0dXJuIEFjdGlvbiB7IE5vdGlmeUFjdGlvbiB7IHsgV1RG
TW92ZShub3RpZmljYXRpb24pIH0gfSB9OwogICAgIH0KICAgICBpZiAoYWN0aW9uVHlwZSA9PSAi
cmVkaXJlY3QiKSB7Ci0gICAgICAgIGF1dG8gYWN0aW9uID0gUmVkaXJlY3RBY3Rpb246OnBhcnNl
KCphY3Rpb25PYmplY3QsIGFsbG93ZWRSZWRpcmVjdFVSTFNjaGVtZXMpOworICAgICAgICBhdXRv
IGFjdGlvbiA9IFJlZGlyZWN0QWN0aW9uOjpwYXJzZSgqYWN0aW9uT2JqZWN0KTsKICAgICAgICAg
aWYgKCFhY3Rpb24pCiAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoYWN0aW9uLmVy
cm9yKCkpOwogICAgICAgICByZXR1cm4gQWN0aW9uIHsgUmVkaXJlY3RBY3Rpb24geyBXVEZNb3Zl
KCphY3Rpb24pIH0gfTsKQEAgLTIyNCwxMyArMjI0LDEzIEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PEV4cGVjdGVkPEFjdGlvbiwgc3RkOjplcnJvcl9jb2RlPj4gbG9hZEFjdGlvbihjb25zdCBKU09O
OjpPCiAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNP
TkludmFsaWRBY3Rpb25UeXBlKTsKIH0KIAotc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhwZWN0ZWQ8
Q29udGVudEV4dGVuc2lvblJ1bGUsIHN0ZDo6ZXJyb3JfY29kZT4+IGxvYWRSdWxlKGNvbnN0IEpT
T046Ok9iamVjdCYgcnVsZU9iamVjdCwgY29uc3Qgc3RkOjpvcHRpb25hbDxIYXNoU2V0PFN0cmlu
Zz4+JiBhbGxvd2VkUmVkaXJlY3RVUkxTY2hlbWVzKQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhw
ZWN0ZWQ8Q29udGVudEV4dGVuc2lvblJ1bGUsIHN0ZDo6ZXJyb3JfY29kZT4+IGxvYWRSdWxlKGNv
bnN0IEpTT046Ok9iamVjdCYgcnVsZU9iamVjdCkKIHsKICAgICBhdXRvIHRyaWdnZXIgPSBsb2Fk
VHJpZ2dlcihydWxlT2JqZWN0KTsKICAgICBpZiAoIXRyaWdnZXIuaGFzX3ZhbHVlKCkpCiAgICAg
ICAgIHJldHVybiBtYWtlVW5leHBlY3RlZCh0cmlnZ2VyLmVycm9yKCkpOwogCi0gICAgYXV0byBh
Y3Rpb24gPSBsb2FkQWN0aW9uKHJ1bGVPYmplY3QsIGFsbG93ZWRSZWRpcmVjdFVSTFNjaGVtZXMp
OworICAgIGF1dG8gYWN0aW9uID0gbG9hZEFjdGlvbihydWxlT2JqZWN0KTsKICAgICBpZiAoIWFj
dGlvbikKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICBpZiAoIWFjdGlvbi0+aGFz
X3ZhbHVlKCkpCkBAIC0yMzksMTEgKzIzOSw4IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4cGVj
dGVkPENvbnRlbnRFeHRlbnNpb25SdWxlLCBzdGQ6OmVycm9yX2NvZGU+PiBsb2FkUnVsZShjCiAg
ICAgcmV0dXJuIHsgeyB7IFdURk1vdmUodHJpZ2dlci52YWx1ZSgpKSwgV1RGTW92ZShhY3Rpb24t
PnZhbHVlKCkpIH0gfSB9OwogfQogCi1zdGF0aWMgRXhwZWN0ZWQ8VmVjdG9yPENvbnRlbnRFeHRl
bnNpb25SdWxlPiwgc3RkOjplcnJvcl9jb2RlPiBsb2FkRW5jb2RlZFJ1bGVzKGNvbnN0IFN0cmlu
ZyYgcnVsZUpTT04sIGNvbnN0IHN0ZDo6b3B0aW9uYWw8SGFzaFNldDxTdHJpbmc+PiYgYWxsb3dl
ZFJlZGlyZWN0VVJMU2NoZW1lcykKK3N0YXRpYyBFeHBlY3RlZDxWZWN0b3I8Q29udGVudEV4dGVu
c2lvblJ1bGU+LCBzdGQ6OmVycm9yX2NvZGU+IGxvYWRFbmNvZGVkUnVsZXMoY29uc3QgU3RyaW5n
JiBydWxlSlNPTikKIHsKLSAgICBpZiAoYWxsb3dlZFJlZGlyZWN0VVJMU2NoZW1lcyAmJiBhbGxv
d2VkUmVkaXJlY3RVUkxTY2hlbWVzLT5jb250YWlucygiamF2YXNjcmlwdCIpKQotICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OUmVkaXJlY3RV
UkxTY2hlbWVzU2hvdWxkTm90SW5jbHVkZUphdmFzY3JpcHQpOwotCiAgICAgYXV0byBkZWNvZGVk
UnVsZXMgPSBKU09OOjpWYWx1ZTo6cGFyc2VKU09OKHJ1bGVKU09OKTsKIAogICAgIGlmICghZGVj
b2RlZFJ1bGVzKQpAQCAtMjY0LDcgKzI2MSw3IEBAIHN0YXRpYyBFeHBlY3RlZDxWZWN0b3I8Q29u
dGVudEV4dGVuc2lvblJ1bGU+LCBzdGQ6OmVycm9yX2NvZGU+IGxvYWRFbmNvZGVkUnVsZXMoCiAg
ICAgICAgIGlmICghcnVsZU9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3Rl
ZChDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05JbnZhbGlkUnVsZSk7CiAKLSAgICAgICAgYXV0
byBydWxlID0gbG9hZFJ1bGUoKnJ1bGVPYmplY3QsIGFsbG93ZWRSZWRpcmVjdFVSTFNjaGVtZXMp
OworICAgICAgICBhdXRvIHJ1bGUgPSBsb2FkUnVsZSgqcnVsZU9iamVjdCk7CiAgICAgICAgIGlm
ICghcnVsZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoIXJ1bGUtPmhhc192
YWx1ZSgpKQpAQCAtMjc1LDEzICsyNzIsMTMgQEAgc3RhdGljIEV4cGVjdGVkPFZlY3RvcjxDb250
ZW50RXh0ZW5zaW9uUnVsZT4sIHN0ZDo6ZXJyb3JfY29kZT4gbG9hZEVuY29kZWRSdWxlcygKICAg
ICByZXR1cm4gcnVsZUxpc3Q7CiB9CiAKLUV4cGVjdGVkPFZlY3RvcjxDb250ZW50RXh0ZW5zaW9u
UnVsZT4sIHN0ZDo6ZXJyb3JfY29kZT4gcGFyc2VSdWxlTGlzdChjb25zdCBTdHJpbmcmIHJ1bGVK
U09OLCBjb25zdCBzdGQ6Om9wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nPj4mIGFsbG93ZWRSZWRpcmVj
dFVSTFNjaGVtZXMpCitFeHBlY3RlZDxWZWN0b3I8Q29udGVudEV4dGVuc2lvblJ1bGU+LCBzdGQ6
OmVycm9yX2NvZGU+IHBhcnNlUnVsZUxpc3QoY29uc3QgU3RyaW5nJiBydWxlSlNPTikKIHsKICNp
ZiBDT05URU5UX0VYVEVOU0lPTlNfUEVSRk9STUFOQ0VfUkVQT1JUSU5HCiAgICAgTW9ub3Rvbmlj
VGltZSBsb2FkRXh0ZW5zaW9uU3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAjZW5k
aWYKIAotICAgIGF1dG8gcnVsZUxpc3QgPSBsb2FkRW5jb2RlZFJ1bGVzKHJ1bGVKU09OLCBhbGxv
d2VkUmVkaXJlY3RVUkxTY2hlbWVzKTsKKyAgICBhdXRvIHJ1bGVMaXN0ID0gbG9hZEVuY29kZWRS
dWxlcyhydWxlSlNPTik7CiAKICAgICBpZiAoIXJ1bGVMaXN0Lmhhc192YWx1ZSgpKQogICAgICAg
ICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQocnVsZUxpc3QuZXJyb3IoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUGFyc2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUGFyc2Vy
LmgKaW5kZXggZDg1Mzc5ODg5NTliOTEwYTdlZTc4NDM1ZDdkYjA2ODgwNjU2ZTRmYi4uZjExMzRi
NmZiMjI4YzNhYjZkZmFmMmU2NmUzY2VlMDIxODJhZGE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblBhcnNlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25QYXJzZXIuaApA
QCAtMzgsMTIgKzM4LDcgQEAgbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIAogY2xhc3Mg
Q29udGVudEV4dGVuc2lvblJ1bGU7CiAKLS8vIEFuIGFsbG93ZWRSZWRpcmVjdFVSTFNjaGVtZXMg
b2Ygc3RkOjpudWxsb3B0IGluZGljYXRlcyB0aGF0IGFsbCBVUkwgc2NoZW1lcyBhcmUgYWxsb3dl
ZC4KLS8vIFRoaXMgaXMgdXNlZCB3aGVuIHJlY29tcGlsaW5nIHNvdXJjZSBmcm9tIG9sZGVyIHZl
cnNpb25zIG9mIFdLQ29udGVudFJ1bGVMaXN0cyBvbiBkaXNrLAotLy8gd2hlcmUgd2UgZG9uJ3Qg
aGF2ZSB0aGUgbGlzdCBvZiBhbGxvd2VkIFVSTCBzY2hlbWVzIGJ1dCBhc3N1bWUgdGhhdCBpZiBp
dCBjb21waWxlZAotLy8gc3VjY2Vzc2Z1bGx5IHRoZSBmaXJzdCB0aW1lIHRoZW4gYWxsIHRoZSBz
Y2hlbWVzIHVzZWQgbXVzdCBoYXZlIGJlZW4gYWxsb3dlZC4KLS8vIEFuIGFsbG93ZWRSZWRpcmVj
dFVSTFNjaGVtZXMgb2YgYW4gZW1wdHkgSGFzaFNldCBpbmRpY2F0ZXMgdGhhdCBubyBhY3RpdmUg
YWN0aW9ucyBhcmUgYWxsb3dlZC4KLVdFQkNPUkVfRVhQT1JUIEV4cGVjdGVkPFZlY3RvcjxDb250
ZW50RXh0ZW5zaW9uUnVsZT4sIHN0ZDo6ZXJyb3JfY29kZT4gcGFyc2VSdWxlTGlzdChjb25zdCBT
dHJpbmcmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nPj4mIGFsbG93ZWRSZWRp
cmVjdFVSTFNjaGVtZXMpOworV0VCQ09SRV9FWFBPUlQgRXhwZWN0ZWQ8VmVjdG9yPENvbnRlbnRF
eHRlbnNpb25SdWxlPiwgc3RkOjplcnJvcl9jb2RlPiBwYXJzZVJ1bGVMaXN0KGNvbnN0IFN0cmlu
ZyYpOwogV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1ZhbGlkQ1NTU2VsZWN0b3IoY29uc3QgU3RyaW5n
Jik7CiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlLmNwcAppbmRl
eCBlZTYyZTEwNzM5YWY4ZmYwNDVmNmRkNmRlMTk5M2U3NWQ2MWM4NjVjLi5lZjljNDE5NDhkMTA1
OWI2NDFmNmFlYjU2YzUwOWIzMWZkNzdiNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHAKQEAgLTQ5MSw3ICs0
OTEsNyBAQCB2b2lkIENvbnRlbnRSdWxlTGlzdFN0b3JlOjpsb29rdXBDb250ZW50UnVsZUxpc3Qo
Y29uc3QgV1RGOjpTdHJpbmcmIGlkZW50aWZpZXIsCiAgICAgICAgIGlmIChjb250ZW50UnVsZUxp
c3QtPm1ldGFEYXRhLnZlcnNpb24gIT0gQ29udGVudFJ1bGVMaXN0U3RvcmU6OkN1cnJlbnRDb250
ZW50UnVsZUxpc3RGaWxlVmVyc2lvbikgewogICAgICAgICAgICAgaWYgKGF1dG8gc291cmNlRnJv
bU9sZFZlcnNpb24gPSBnZXRDb250ZW50UnVsZUxpc3RTb3VyY2VGcm9tTWFwcGVkRmlsZSgqY29u
dGVudFJ1bGVMaXN0KTsgIXNvdXJjZUZyb21PbGRWZXJzaW9uLmlzRW1wdHkoKSkgewogICAgICAg
ICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IFdURk1v
dmUocHJvdGVjdGVkVGhpcyksIHNvdXJjZUZyb21PbGRWZXJzaW9uID0gc291cmNlRnJvbU9sZFZl
cnNpb24uaXNvbGF0ZWRDb3B5KCksIGlkZW50aWZpZXIgPSBpZGVudGlmaWVyLmlzb2xhdGVkQ29w
eSgpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBt
dXRhYmxlIHsKLSAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+Y29tcGlsZUNvbnRl
bnRSdWxlTGlzdChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvdXJjZUZyb21PbGRWZXJzaW9uKSwgc3Rk
OjpudWxsb3B0LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgICAgICAgICAg
ICAgIHByb3RlY3RlZFRoaXMtPmNvbXBpbGVDb250ZW50UnVsZUxpc3QoaWRlbnRpZmllciwgV1RG
TW92ZShzb3VyY2VGcm9tT2xkVmVyc2lvbiksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg
ICB9CkBAIC01MzAsMTMgKzUzMCwxMyBAQCB2b2lkIENvbnRlbnRSdWxlTGlzdFN0b3JlOjpnZXRB
dmFpbGFibGVDb250ZW50UnVsZUxpc3RJZGVudGlmaWVycyhDb21wbGV0aW9uSGFuZAogICAgIH0p
OwogfQogCi12b2lkIENvbnRlbnRSdWxlTGlzdFN0b3JlOjpjb21waWxlQ29udGVudFJ1bGVMaXN0
KGNvbnN0IFdURjo6U3RyaW5nJiBpZGVudGlmaWVyLCBXVEY6OlN0cmluZyYmIGpzb24sIHN0ZDo6
b3B0aW9uYWw8SGFzaFNldDxXVEY6OlN0cmluZz4+JiYgYWxsb3dlZFJlZGlyZWN0U2NoZW1lcywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8QVBJOjpDb250ZW50UnVsZUxpc3Q+LCBzdGQ6
OmVycm9yX2NvZGUpPiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgQ29udGVudFJ1bGVMaXN0U3Rv
cmU6OmNvbXBpbGVDb250ZW50UnVsZUxpc3QoY29uc3QgV1RGOjpTdHJpbmcmIGlkZW50aWZpZXIs
IFdURjo6U3RyaW5nJiYganNvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8QVBJOjpD
b250ZW50UnVsZUxpc3Q+LCBzdGQ6OmVycm9yX2NvZGUpPiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
ICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsK
ICAgICBXZWJDb3JlOjpRdWFsaWZpZWROYW1lOjppbml0KCk7CiAgICAgCi0gICAgYXV0byBwYXJz
ZWRSdWxlcyA9IFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpwYXJzZVJ1bGVMaXN0KGpzb24s
IFdURk1vdmUoYWxsb3dlZFJlZGlyZWN0U2NoZW1lcykpOworICAgIGF1dG8gcGFyc2VkUnVsZXMg
PSBXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6cGFyc2VSdWxlTGlzdChqc29uKTsKICAgICBp
ZiAoIXBhcnNlZFJ1bGVzLmhhc192YWx1ZSgpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhh
bmRsZXIobnVsbHB0ciwgcGFyc2VkUnVsZXMuZXJyb3IoKSk7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5oCmluZGV4
IDk4YzBhNDE4NzlkNDZlMzY0MDg2ZDk1NzlkOGE1ODczY2U3ZWU0YjEuLjg4MjA0ZjAwMTM2Nzg2
MDQ1YTViMzJhNzNjNjc4YTBiYTg1MDY4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5oCkBAIC02Niw3ICs2Niw3IEBA
IHB1YmxpYzoKICAgICBleHBsaWNpdCBDb250ZW50UnVsZUxpc3RTdG9yZShjb25zdCBXVEY6OlN0
cmluZyYgc3RvcmVQYXRoKTsKICAgICB2aXJ0dWFsIH5Db250ZW50UnVsZUxpc3RTdG9yZSgpOwog
Ci0gICAgdm9pZCBjb21waWxlQ29udGVudFJ1bGVMaXN0KGNvbnN0IFdURjo6U3RyaW5nJiBpZGVu
dGlmaWVyLCBXVEY6OlN0cmluZyYmIGpzb24sIHN0ZDo6b3B0aW9uYWw8SGFzaFNldDxXVEY6OlN0
cmluZz4+JiYgYWxsb3dlZFJlZGlyZWN0U2NoZW1lcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChS
ZWZQdHI8QVBJOjpDb250ZW50UnVsZUxpc3Q+LCBzdGQ6OmVycm9yX2NvZGUpPik7CisgICAgdm9p
ZCBjb21waWxlQ29udGVudFJ1bGVMaXN0KGNvbnN0IFdURjo6U3RyaW5nJiBpZGVudGlmaWVyLCBX
VEY6OlN0cmluZyYmIGpzb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEFQSTo6Q29u
dGVudFJ1bGVMaXN0Piwgc3RkOjplcnJvcl9jb2RlKT4pOwogICAgIHZvaWQgbG9va3VwQ29udGVu
dFJ1bGVMaXN0KGNvbnN0IFdURjo6U3RyaW5nJiBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFJlZlB0cjxBUEk6OkNvbnRlbnRSdWxlTGlzdD4sIHN0ZDo6ZXJyb3JfY29kZSk+KTsK
ICAgICB2b2lkIHJlbW92ZUNvbnRlbnRSdWxlTGlzdChjb25zdCBXVEY6OlN0cmluZyYgaWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6OmVycm9yX2NvZGUpPik7CiAgICAgdm9p
ZCBnZXRBdmFpbGFibGVDb250ZW50UnVsZUxpc3RJZGVudGlmaWVycyhDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPik+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmVSZWYuY3BwCmluZGV4IDgzMjVhNGIzNzExODYyMWM4NWFmNDcxOTcwMDc0NDM4Mjg5YjAwN2Eu
LmZmNDcwMWM5YjU0ODQ3YjczZjEwOTE1ZmQ3NWRlMzYyYzQxOGI5NjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJl
Zi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlUmVmLmNwcApAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMgaW5saW5lIFdLVXNl
ckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlc3VsdCB0b1Jlc3VsdChjb25zdCBzdGQ6OmVycm9yX2Nv
ZGUmCiB2b2lkIFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUNvbXBpbGUoV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlUmVmIHN0b3JlLCBXS1N0cmluZ1JlZiBpZGVudGlmaWVyLCBXS1N0cmlu
Z1JlZiBqc29uU291cmNlLCB2b2lkKiBjb250ZXh0LCBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmVGdW5jdGlvbiBjYWxsYmFjaykKIHsKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQot
ICAgIHRvSW1wbChzdG9yZSktPmNvbXBpbGVDb250ZW50UnVsZUxpc3QodG9XVEZTdHJpbmcoaWRl
bnRpZmllciksIHRvV1RGU3RyaW5nKGpzb25Tb3VyY2UpLCB7IEhhc2hTZXQ8U3RyaW5nPigpIH0s
IFtjb250ZXh0LCBjYWxsYmFja10oUmVmUHRyPEFQSTo6Q29udGVudFJ1bGVMaXN0PiBjb250ZW50
UnVsZUxpc3QsIHN0ZDo6ZXJyb3JfY29kZSBlcnJvcikgeworICAgIHRvSW1wbChzdG9yZSktPmNv
bXBpbGVDb250ZW50UnVsZUxpc3QodG9XVEZTdHJpbmcoaWRlbnRpZmllciksIHRvV1RGU3RyaW5n
KGpzb25Tb3VyY2UpLCBbY29udGV4dCwgY2FsbGJhY2tdKFJlZlB0cjxBUEk6OkNvbnRlbnRSdWxl
TGlzdD4gY29udGVudFJ1bGVMaXN0LCBzdGQ6OmVycm9yX2NvZGUgZXJyb3IpIHsKICAgICAgICAg
Y2FsbGJhY2soZXJyb3IgPyBudWxscHRyIDogdG9BUEkoY29udGVudFJ1bGVMaXN0LmxlYWtSZWYo
KSksIHRvUmVzdWx0KGVycm9yKSwgY29udGV4dCk7CiAgICAgfSk7CiAjZWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0U3Rv
cmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxp
c3RTdG9yZS5tbQppbmRleCAwMjkxY2E3NjY0Y2FhNDFhZTQ3ZTI5OTRmZmMxNjYzNjU2M2E3N2Vm
Li45ZmE3MWIwNzVhMDNmZjFkZmRkMDAxN2U0NWM4MTI5OTU5ZDM1ZDgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxpc3RTdG9yZS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxp
c3RTdG9yZS5tbQpAQCAtODcsNyArODcsMTggQEAgc3RhdGljIFdLRXJyb3JDb2RlIHRvV0tFcnJv
ckNvZGUoY29uc3Qgc3RkOjplcnJvcl9jb2RlJiBlcnJvcikKIAogLSAodm9pZCljb21waWxlQ29u
dGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGVuY29kZWRD
b250ZW50UnVsZUxpc3Q6KE5TU3RyaW5nICopZW5jb2RlZENvbnRlbnRSdWxlTGlzdCBjb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikoV0tDb250ZW50UnVsZUxpc3QgKiwgTlNFcnJvciAqKSljb21w
bGV0aW9uSGFuZGxlcgogewotICAgIFtzZWxmIF9jb21waWxlQ29udGVudFJ1bGVMaXN0Rm9ySWRl
bnRpZmllcjppZGVudGlmaWVyIGVuY29kZWRDb250ZW50UnVsZUxpc3Q6ZW5jb2RlZENvbnRlbnRS
dWxlTGlzdCBhbGxvd2VkUmVkaXJlY3RTY2hlbWVzOm5pbCBjb21wbGV0aW9uSGFuZGxlcjpjb21w
bGV0aW9uSGFuZGxlcl07CisjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKKyAgICBfY29u
dGVudFJ1bGVMaXN0U3RvcmUtPmNvbXBpbGVDb250ZW50UnVsZUxpc3QoaWRlbnRpZmllciwgZW5j
b2RlZENvbnRlbnRSdWxlTGlzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNv
bXBsZXRpb25IYW5kbGVyKV0oUmVmUHRyPEFQSTo6Q29udGVudFJ1bGVMaXN0PiBjb250ZW50UnVs
ZUxpc3QsIHN0ZDo6ZXJyb3JfY29kZSBlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAg
ICAgICAgICAgIGF1dG8gdXNlckluZm8gPSBAeyBOU0hlbHBBbmNob3JFcnJvcktleTogW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJSdWxlIGxpc3QgY29tcGlsYXRpb24gZmFpbGVkOiAlcyIs
IGVycm9yLm1lc3NhZ2UoKS5jX3N0cigpXSB9OworCisgICAgICAgICAgICAvLyBlcnJvci52YWx1
ZSgpIGNvdWxkIGhhdmUgYSBzcGVjaWZpYyBjb21waWxlciBlcnJvciB0aGF0IGlzIG5vdCBlcXVh
bCB0byBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVDb21waWxlRmFpbGVkLgorICAgICAgICAg
ICAgLy8gV2Ugd2FudCB0byB1c2UgZXJyb3IubWVzc2FnZSwgYnV0IGhlcmUgd2Ugd2FudCB0byBv
bmx5IHBhc3Mgb24gQ29tcGlsZUZhaWxlZCB3aXRoIHVzZXJJbmZvIGZyb20gdGhlIHN0ZDo6ZXJy
b3JfY29kZS4KKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihuaWwsIFtOU0Vy
cm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvckNvbnRlbnRSdWxl
TGlzdFN0b3JlQ29tcGlsZUZhaWxlZCB1c2VySW5mbzp1c2VySW5mb10pOworICAgICAgICB9Cisg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHdyYXBwZXIoKmNvbnRlbnRSdWxlTGlzdCksIG5pbCk7
CisgICAgfSk7CisjZW5kaWYKIH0KIAogLSAodm9pZClsb29rVXBDb250ZW50UnVsZUxpc3RGb3JJ
ZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKFdLQ29udGVudFJ1bGVMaXN0ICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIKQEAg
LTE3MSwyNSArMTgyLDYgQEAgc3RhdGljIFdLRXJyb3JDb2RlIHRvV0tFcnJvckNvZGUoY29uc3Qg
c3RkOjplcnJvcl9jb2RlJiBlcnJvcikKICNlbmRpZgogfQogCi0tICh2b2lkKV9jb21waWxlQ29u
dGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGVuY29kZWRD
b250ZW50UnVsZUxpc3Q6KE5TU3RyaW5nICopZW5jb2RlZENvbnRlbnRSdWxlTGlzdCBhbGxvd2Vk
UmVkaXJlY3RTY2hlbWVzOihOU1NldDxOU1N0cmluZyAqPiAqKXNjaGVtZXMgY29tcGxldGlvbkhh
bmRsZXI6KHZvaWQgKF4pKFdLQ29udGVudFJ1bGVMaXN0ICosIE5TRXJyb3IgKikpY29tcGxldGlv
bkhhbmRsZXIKLXsKLSNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQotICAgIEhhc2hTZXQ8
U3RyaW5nPiBhbGxvd2VkUmVkaXJlY3RTY2hlbWVzOwotICAgIGZvciAoTlNTdHJpbmcgKnNjaGVt
ZSBpbiBzY2hlbWVzKQotICAgICAgICBhbGxvd2VkUmVkaXJlY3RTY2hlbWVzLmFkZChzY2hlbWUp
OwotICAgIF9jb250ZW50UnVsZUxpc3RTdG9yZS0+Y29tcGlsZUNvbnRlbnRSdWxlTGlzdChpZGVu
dGlmaWVyLCBlbmNvZGVkQ29udGVudFJ1bGVMaXN0LCBXVEZNb3ZlKGFsbG93ZWRSZWRpcmVjdFNj
aGVtZXMpLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRs
ZXIpXShSZWZQdHI8QVBJOjpDb250ZW50UnVsZUxpc3Q+IGNvbnRlbnRSdWxlTGlzdCwgc3RkOjpl
cnJvcl9jb2RlIGVycm9yKSB7Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgYXV0
byB1c2VySW5mbyA9IEB7TlNIZWxwQW5jaG9yRXJyb3JLZXk6IFtOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAiUnVsZSBsaXN0IGNvbXBpbGF0aW9uIGZhaWxlZDogJXMiLCBlcnJvci5tZXNzYWdl
KCkuY19zdHIoKV19OwotCi0gICAgICAgICAgICAvLyBlcnJvci52YWx1ZSgpIGNvdWxkIGhhdmUg
YSBzcGVjaWZpYyBjb21waWxlciBlcnJvciB0aGF0IGlzIG5vdCBlcXVhbCB0byBXS0Vycm9yQ29u
dGVudFJ1bGVMaXN0U3RvcmVDb21waWxlRmFpbGVkLgotICAgICAgICAgICAgLy8gV2Ugd2FudCB0
byB1c2UgZXJyb3IubWVzc2FnZSwgYnV0IGhlcmUgd2Ugd2FudCB0byBvbmx5IHBhc3Mgb24gQ29t
cGlsZUZhaWxlZCB3aXRoIHVzZXJJbmZvIGZyb20gdGhlIHN0ZDo6ZXJyb3JfY29kZS4KLSAgICAg
ICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihuaWwsIFtOU0Vycm9yIGVycm9yV2l0aERv
bWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlQ29tcGls
ZUZhaWxlZCB1c2VySW5mbzp1c2VySW5mb10pOwotICAgICAgICB9Ci0gICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKHdyYXBwZXIoKmNvbnRlbnRSdWxlTGlzdCksIG5pbCk7Ci0gICAgfSk7Ci0jZW5k
aWYKLX0KLQogKyAoaW5zdGFuY2V0eXBlKWRlZmF1bHRTdG9yZVdpdGhMZWdhY3lGaWxlbmFtZQog
ewogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxpc3RTdG9yZVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdFN0b3Jl
UHJpdmF0ZS5oCmluZGV4IGI3OWE2YThhYzQ0YzYyZWU1N2U5ZGVlNTZhZDc3Y2I2NWQ3ODczMWUu
LmNmNzAzNDRhOWE5NmVjZmVmY2M2Y2NhZDZiNzZkZTBhNDZhNTJiNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRS
dWxlTGlzdFN0b3JlUHJpdmF0ZS5oCkBAIC0zMiw4ICszMiw2IEBACiAtICh2b2lkKV9pbnZhbGlk
YXRlQ29udGVudFJ1bGVMaXN0VmVyc2lvbkZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRp
ZmllcjsKIC0gKHZvaWQpX2dldENvbnRlbnRSdWxlTGlzdFNvdXJjZUZvcklkZW50aWZpZXI6KE5T
U3RyaW5nICopaWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNTdHJpbmcg
KikpY29tcGxldGlvbkhhbmRsZXI7CiAKLS0gKHZvaWQpX2NvbXBpbGVDb250ZW50UnVsZUxpc3RG
b3JJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgZW5jb2RlZENvbnRlbnRSdWxlTGlz
dDooTlNTdHJpbmcgKillbmNvZGVkQ29udGVudFJ1bGVMaXN0IGFsbG93ZWRSZWRpcmVjdFNjaGVt
ZXM6KE5TU2V0PE5TU3RyaW5nICo+ICopc2NoZW1lcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoV0tDb250ZW50UnVsZUxpc3QgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKLQog
Ly8gRklYTUU6IFJlbW92ZSBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLgogKyAoaW5zdGFu
Y2V0eXBlKWRlZmF1bHRTdG9yZVdpdGhMZWdhY3lGaWxlbmFtZTsKICsgKGluc3RhbmNldHlwZSlz
dG9yZVdpdGhVUkxBbmRMZWdhY3lGaWxlbmFtZTooTlNVUkwgKil1cmw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVudEZpbHRlclN0
b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVzZXJDb250
ZW50RmlsdGVyU3RvcmUuY3BwCmluZGV4IGRiNzcyMzVkOTQ1M2FkNWE5MTE0YTZmMzdhZjMzNGRk
ZWVmNGNlNjYuLjcyYmU5MTIxYWFhNzYyNGM0OWNjMmJiNjE5ZGZjNmJiYWVmODQ5YzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVzZXJDb250ZW50
RmlsdGVyU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFVzZXJDb250ZW50RmlsdGVyU3RvcmUuY3BwCkBAIC0xODcsNyArMTg3LDcgQEAgc3RhdGlj
IHZvaWQgd2Via2l0VXNlckNvbnRlbnRGaWx0ZXJTdG9yZVNhdmVCeXRlcyhHUmVmUHRyPEdUYXNr
PiYmIHRhc2ssIFN0cmluZyYKICAgICB9CiAKICAgICBhdXRvKiBzdG9yZSA9IFdFQktJVF9VU0VS
X0NPTlRFTlRfRklMVEVSX1NUT1JFKGdfdGFza19nZXRfc291cmNlX29iamVjdCh0YXNrLmdldCgp
KSk7Ci0gICAgc3RvcmUtPnByaXYtPnN0b3JlLT5jb21waWxlQ29udGVudFJ1bGVMaXN0KGlkZW50
aWZpZXIsIFN0cmluZzo6ZnJvbVVURjgoc291cmNlRGF0YSwgc291cmNlU2l6ZSksIHsgSGFzaFNl
dDxTdHJpbmc+KCkgfSwgW3Rhc2sgPSBXVEZNb3ZlKHRhc2spXShSZWZQdHI8QVBJOjpDb250ZW50
UnVsZUxpc3Q+IGNvbnRlbnRSdWxlTGlzdCwgc3RkOjplcnJvcl9jb2RlIGVycm9yKSB7CisgICAg
c3RvcmUtPnByaXYtPnN0b3JlLT5jb21waWxlQ29udGVudFJ1bGVMaXN0KGlkZW50aWZpZXIsIFN0
cmluZzo6ZnJvbVVURjgoc291cmNlRGF0YSwgc291cmNlU2l6ZSksIFt0YXNrID0gV1RGTW92ZSh0
YXNrKV0oUmVmUHRyPEFQSTo6Q29udGVudFJ1bGVMaXN0PiBjb250ZW50UnVsZUxpc3QsIHN0ZDo6
ZXJyb3JfY29kZSBlcnJvcikgewogICAgICAgICBpZiAoZ190YXNrX3JldHVybl9lcnJvcl9pZl9j
YW5jZWxsZWQodGFzay5nZXQoKSkpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyY2ZiOWJhMDBhMDdjYTJl
N2ViNTJiNTg1ZGZhNzIxZjBhNGNkZTNkLi4yNWU0ODU0YjVkYzIzZWIxM2NhYWEyMzk2ZGU5OGY3
MzRkYTNiN2JjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTEtMTggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBbGxvdyBhbGwgcmVkaXJlY3Qgc2NoZW1l
cyB3aGVuIGNvbXBpbGluZyBhIGNvbnRlbnQgcnVsZSBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9Db250ZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbk1lbW9y
eUNvbXBpbGVkQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OmNoZWNrQ29tcGlsZXJFcnJvcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0Yp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tDb250ZW50RXh0
ZW5zaW9uU3RvcmUubW06CisgICAgICAgIChjb21waWxlQ29udGVudFJ1bGVMaXN0KToKKwogMjAy
MS0xMS0xNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEltcGxlbWVudCBtb3N0IG9mIHJlZGlyZWN0IGFuZCBtb2RpZnktaGVhZGVycyBhY3Rp
b24gdHlwZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9D
b250ZW50RXh0ZW5zaW9ucy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
Q29udGVudEV4dGVuc2lvbnMuY3BwCmluZGV4IDZlNDdiMmRmZTZkNjYzZTIxNDZiMzllM2Q4M2M5
OGU3ODU4M2YzMDEuLjEzMTA2ZGUzMTJlOGYzM2E1YTllNzNjNjkzMzZiMjYxZTVmYjVmMGMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250ZW50RXh0ZW5z
aW9ucy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRF
eHRlbnNpb25zLmNwcApAQCAtMTMxLDcgKzEzMSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IENvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGEgZXh0ZW5zaW9uRGF0YTsKICAgICAgICAgSW5N
ZW1vcnlDb250ZW50RXh0ZW5zaW9uQ29tcGlsYXRpb25DbGllbnQgY2xpZW50KGV4dGVuc2lvbkRh
dGEpOwotICAgICAgICBhdXRvIHBhcnNlZFJ1bGVzID0gQ29udGVudEV4dGVuc2lvbnM6OnBhcnNl
UnVsZUxpc3QoZmlsdGVyLCBzdGQ6Om51bGxvcHQpOworICAgICAgICBhdXRvIHBhcnNlZFJ1bGVz
ID0gQ29udGVudEV4dGVuc2lvbnM6OnBhcnNlUnVsZUxpc3QoZmlsdGVyKTsKICAgICAgICAgYXV0
byBjb21waWxlckVycm9yID0gQ29udGVudEV4dGVuc2lvbnM6OmNvbXBpbGVSdWxlTGlzdChjbGll
bnQsIFdURk1vdmUoZmlsdGVyKSwgV1RGTW92ZShwYXJzZWRSdWxlcy52YWx1ZSgpKSk7CiAKICAg
ICAgICAgLy8gQ29tcGlsaW5nIHNob3VsZCBhbHdheXMgc3VjY2VlZCBoZXJlLiBXZSBoYXZlIG90
aGVyIHRlc3RzIGZvciBjb21waWxlIGZhaWx1cmVzLgpAQCAtMTM2MiwxMSArMTM2MiwxMSBAQCBU
RVNUX0YoQ29udGVudEV4dGVuc2lvblRlc3QsIERlZXBORkEpCiAgICAgRVhQRUNUX0VRKDF1bCwg
Y3JlYXRlTkZBcyhjb21iaW5lZFVSTEZpbHRlcnMpLnNpemUoKSk7CiB9CiAKLXZvaWQgY2hlY2tD
b21waWxlckVycm9yKGNvbnN0IGNoYXIqIGpzb24sIHN0ZDo6ZXJyb3JfY29kZSBleHBlY3RlZEVy
cm9yLCBjb25zdCBzdGQ6Om9wdGlvbmFsPEhhc2hTZXQ8U3RyaW5nPj4mIGFsbG93ZWRSZWRpcmVj
dFVSTFNjaGVtZXMgPSBzdGQ6Om51bGxvcHQpCit2b2lkIGNoZWNrQ29tcGlsZXJFcnJvcihjb25z
dCBjaGFyKiBqc29uLCBzdGQ6OmVycm9yX2NvZGUgZXhwZWN0ZWRFcnJvcikKIHsKICAgICBDb21w
aWxlZENvbnRlbnRFeHRlbnNpb25EYXRhIGV4dGVuc2lvbkRhdGE7CiAgICAgSW5NZW1vcnlDb250
ZW50RXh0ZW5zaW9uQ29tcGlsYXRpb25DbGllbnQgY2xpZW50KGV4dGVuc2lvbkRhdGEpOwotICAg
IGF1dG8gcGFyc2VkUnVsZXMgPSBDb250ZW50RXh0ZW5zaW9uczo6cGFyc2VSdWxlTGlzdChqc29u
LCBhbGxvd2VkUmVkaXJlY3RVUkxTY2hlbWVzKTsKKyAgICBhdXRvIHBhcnNlZFJ1bGVzID0gQ29u
dGVudEV4dGVuc2lvbnM6OnBhcnNlUnVsZUxpc3QoanNvbik7CiAgICAgc3RkOjplcnJvcl9jb2Rl
IGNvbXBpbGVyRXJyb3I7CiAgICAgaWYgKHBhcnNlZFJ1bGVzLmhhc192YWx1ZSgpKQogICAgICAg
ICBjb21waWxlckVycm9yID0gQ29udGVudEV4dGVuc2lvbnM6OmNvbXBpbGVSdWxlTGlzdChjbGll
bnQsIGpzb24sIFdURk1vdmUocGFyc2VkUnVsZXMudmFsdWUoKSkpOwpAQCAtMTUzMiw3ICsxNTMy
LDYgQEAgVEVTVF9GKENvbnRlbnRFeHRlbnNpb25UZXN0LCBJbnZhbGlkSlNPTikKICAgICAgICAg
Q29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OSW52YWxpZEFjdGlvblR5cGUpOwogICAgIGNoZWNr
Q29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcImNzcy1kaXNwbGF5LW5vbmVc
In0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwiOlwid2Via2l0Lm9yZ1wifX1dIiwKICAgICAg
ICAgQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OSW52YWxpZENTU0Rpc3BsYXlOb25lQWN0aW9u
VHlwZSk7Ci0gICAgY2hlY2tDb21waWxlckVycm9yKCIiLCBDb250ZW50RXh0ZW5zaW9uRXJyb3I6
OkpTT05SZWRpcmVjdFVSTFNjaGVtZXNTaG91bGROb3RJbmNsdWRlSmF2YXNjcmlwdCwgeyB7ICJq
YXZhc2NyaXB0IiB9IH0pOwogCiAgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6
e1widHlwZVwiOlwiaWdub3JlLXByZXZpb3VzLXJ1bGVzXCJ9LFwidHJpZ2dlclwiOntcInVybC1m
aWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19LCIKICAgICAgICAgIntcImFjdGlvblwiOntcInR5cGVc
IjpcImNzcy1kaXNwbGF5LW5vbmVcIixcInNlbGVjdG9yXCI6XCIuaGlkZGVuXCJ9LFwidHJpZ2dl
clwiOntcInVybC1maWx0ZXJcIjpcIi4qXCJ9fV0iLCB7IH0pOwpAQCAtMTU2MSwxMCArMTU2MCw4
IEBAIFRFU1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgSW52YWxpZEpTT04pCiAgICAgY2hlY2tD
b21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwicmVkaXJlY3RcIixcInJlZGly
ZWN0XCI6e1widHJhbnNmb3JtXCI6e1wicXVlcnktdHJhbnNmb3JtXCI6e1wiYWRkLW9yLXJlcGxh
Y2UtcGFyYW1ldGVyc1wiOlt7fV19fX19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndl
YmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkFkZE9yUmVwbGFjZVBh
cmFtZXRlcnNLZXlWYWx1ZU1pc3NpbmdLZXlTdHJpbmcpOwogICAgIGNoZWNrQ29tcGlsZXJFcnJv
cigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcInJlZGlyZWN0XCIsXCJyZWRpcmVjdFwiOntcInRy
YW5zZm9ybVwiOntcInF1ZXJ5LXRyYW5zZm9ybVwiOntcImFkZC1vci1yZXBsYWNlLXBhcmFtZXRl
cnNcIjpbe1wia2V5XCI6NX1dfX19fSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJ3ZWJr
aXQub3JnXCJ9fV0iLCBDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05BZGRPclJlcGxhY2VQYXJh
bWV0ZXJzS2V5VmFsdWVNaXNzaW5nS2V5U3RyaW5nKTsKICAgICBjaGVja0NvbXBpbGVyRXJyb3Io
Ilt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwicmVkaXJlY3RcIjp7XCJ0cmFu
c2Zvcm1cIjp7XCJxdWVyeS10cmFuc2Zvcm1cIjp7XCJhZGQtb3ItcmVwbGFjZS1wYXJhbWV0ZXJz
XCI6W3tcImtleVwiOlwia1wiLFwidmFsdWVcIjo1fV19fX19LFwidHJpZ2dlclwiOntcInVybC1m
aWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkFk
ZE9yUmVwbGFjZVBhcmFtZXRlcnNLZXlWYWx1ZU1pc3NpbmdWYWx1ZVN0cmluZyk7Ci0gICAgY2hl
Y2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwicmVkaXJlY3RcIixcInJl
ZGlyZWN0XCI6e1widXJsXCI6XCJhYm91dDpibGFua1wifX0sXCJ0cmlnZ2VyXCI6e1widXJsLWZp
bHRlclwiOlwid2Via2l0Lm9yZ1wifX1dIiwgQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OUmVk
aXJlY3RVUkxTY2hlbWVOb3RBbGxvd2VkLCB7IHsgIm5vdC1hYm91dCIgfSB9KTsKLSAgICBjaGVj
a0NvbXBpbGVyRXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwicmVk
aXJlY3RcIjp7XCJ1cmxcIjpcImFib3V0OmJsYW5rXCJ9fSxcInRyaWdnZXJcIjp7XCJ1cmwtZmls
dGVyXCI6XCJ3ZWJraXQub3JnXCJ9fV0iLCB7IH0sIHsgeyAiYWJvdXQiIH0gfSk7Ci0gICAgY2hl
Y2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwicmVkaXJlY3RcIixcInJl
ZGlyZWN0XCI6e1widXJsXCI6XCJodHRwczovLzEyNy4uMS9cIn19LFwidHJpZ2dlclwiOntcInVy
bC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNP
TlJlZGlyZWN0VVJMSW52YWxpZCwgeyB7ICJodHRwcyIgfSB9KTsKLSAgICBjaGVja0NvbXBpbGVy
RXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwicmVkaXJlY3RcIjp7
XCJ1cmxcIjpcImFib3V0OmJsYW5rXCJ9fSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJ3
ZWJraXQub3JnXCJ9fV0iLCB7IH0sIHsgeyAiYWJvdXQiIH0gfSk7CisgICAgY2hlY2tDb21waWxl
ckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6
e1widXJsXCI6XCJodHRwczovLzEyNy4uMS9cIn19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJc
IjpcIndlYmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0
VVJMSW52YWxpZCk7CisgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlw
ZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6e1widXJsXCI6XCJKYVZhU2NSaVB0OmRvc3R1
ZmZcIn19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19XSIsIENv
bnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0VG9KYXZhU2NyaXB0VVJMKTsKICAgICBj
aGVja0NvbXBpbGVyRXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwi
cmVkaXJlY3RcIjp7XCJ0cmFuc2Zvcm1cIjp7XCJwb3J0XCI6XCJub3QgYSBudW1iZXJcIn19fSxc
InRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJ3ZWJraXQub3JnXCJ9fV0iLCBDb250ZW50RXh0
ZW5zaW9uRXJyb3I6OkpTT05SZWRpcmVjdEludmFsaWRQb3J0KTsKICAgICBjaGVja0NvbXBpbGVy
RXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwicmVkaXJlY3RcIjp7
XCJ0cmFuc2Zvcm1cIjp7XCJwb3J0XCI6XCI2NTUzNlwifX19LFwidHJpZ2dlclwiOntcInVybC1m
aWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJl
ZGlyZWN0SW52YWxpZFBvcnQpOwogICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwi
OntcInR5cGVcIjpcInJlZGlyZWN0XCIsXCJyZWRpcmVjdFwiOntcInRyYW5zZm9ybVwiOntcInF1
ZXJ5XCI6XCJuby1xdWVzdGlvbi1tYXJrXCJ9fX0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwi
Olwid2Via2l0Lm9yZ1wifX1dIiwgQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OUmVkaXJlY3RJ
bnZhbGlkUXVlcnkpOwpAQCAtMTU3Miw5ICsxNTY5LDkgQEAgVEVTVF9GKENvbnRlbnRFeHRlbnNp
b25UZXN0LCBJbnZhbGlkSlNPTikKICAgICBjaGVja0NvbXBpbGVyRXJyb3IoIlt7XCJhY3Rpb25c
Ijp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwicmVkaXJlY3RcIjp7XCJ0cmFuc2Zvcm1cIjp7XCJw
b3J0XCI6XCI2NTUzNVwifX19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5v
cmdcIn19XSIsIHsgfSk7CiAgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1wi
dHlwZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6e1widHJhbnNmb3JtXCI6e1wicG9ydFwi
OlwiXCJ9fX0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwiOlwid2Via2l0Lm9yZ1wifX1dIiwg
eyB9KTsKICAgICBjaGVja0NvbXBpbGVyRXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJy
ZWRpcmVjdFwiLFwicmVkaXJlY3RcIjp7XCJleHRlbnNpb24tcGF0aFwiOlwiL2RvZXMvc3RhcnQv
d2l0aC9zbGFzaC9cIn19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdc
In19XSIsIHsgfSk7Ci0gICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlw
ZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6e1widHJhbnNmb3JtXCI6e1wic2NoZW1lXCI6
XCJhYm91dFwifX19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19
XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0VVJMU2NoZW1lTm90QWxsb3dl
ZCwgeyB7ICJub3QtYWJvdXQiIH0gfSk7CiAgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0
aW9uXCI6e1widHlwZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6e1widHJhbnNmb3JtXCI6
e1wic2NoZW1lXCI6XCIhQCMkJVwifX19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndl
YmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlJlZGlyZWN0VVJMU2No
ZW1lSW52YWxpZCk7Ci0gICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlw
ZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6e1widHJhbnNmb3JtXCI6e1wic2NoZW1lXCI6
XCJBYm91dFwifX19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19
XSIsIHsgfSwgeyB7ICJhYm91dCIgfSB9KTsKKyAgICBjaGVja0NvbXBpbGVyRXJyb3IoIlt7XCJh
Y3Rpb25cIjp7XCJ0eXBlXCI6XCJyZWRpcmVjdFwiLFwicmVkaXJlY3RcIjp7XCJ0cmFuc2Zvcm1c
Ijp7XCJzY2hlbWVcIjpcIkphVmFTY1JpUHRcIn19fSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVy
XCI6XCJ3ZWJraXQub3JnXCJ9fV0iLCBDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05SZWRpcmVj
dFRvSmF2YVNjcmlwdFVSTCk7CisgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6
e1widHlwZVwiOlwicmVkaXJlY3RcIixcInJlZGlyZWN0XCI6e1widHJhbnNmb3JtXCI6e1wic2No
ZW1lXCI6XCJBYm91dFwifX19LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5v
cmdcIn19XSIsIHsgfSk7CiAgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1wi
dHlwZVwiOlwibW9kaWZ5LWhlYWRlcnNcIixcInJlcXVlc3QtaGVhZGVyc1wiOjV9LFwidHJpZ2dl
clwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25F
cnJvcjo6SlNPTk1vZGlmeUhlYWRlcnNOb3RBcnJheSk7CiAgICAgY2hlY2tDb21waWxlckVycm9y
KCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwibW9kaWZ5LWhlYWRlcnNcIixcInJlcXVlc3QtaGVh
ZGVyc1wiOls1XX0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwiOlwid2Via2l0Lm9yZ1wifX1d
IiwgQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OTW9kaWZ5SGVhZGVyc0luZm9Ob3RBRGljdGlv
bmFyeSk7CiAgICAgY2hlY2tDb21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwi
bW9kaWZ5LWhlYWRlcnNcIixcInJlcXVlc3QtaGVhZGVyc1wiOlt7fV19LFwidHJpZ2dlclwiOntc
InVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19XSIsIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6
SlNPTk1vZGlmeUhlYWRlcnNNaXNzaW5nT3BlcmF0aW9uKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQ29udGVudEV4dGVuc2lv
blN0b3JlLm1tCmluZGV4IGVhZWZhODE2OTkwZDE2Mzk5MDM1NzIyMjFkOGNkNGUyYWNhYWU0NDIu
LmE4ZTJiOTRjMzgxMTRkMmQwMmNiZTNlMTJiNGVmMTQxMTc4Mzk0ZmMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tDb250ZW50RXh0ZW5zaW9uU3Rv
cmUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0NvbnRl
bnRFeHRlbnNpb25TdG9yZS5tbQpAQCAtNDg0LDcgKzQ4NCw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8
V0tDb250ZW50UnVsZUxpc3Q+IGNvbXBpbGVDb250ZW50UnVsZUxpc3QoY29uc3QgY2hhcioganNv
biwgTlNTCiAgICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gX3JlbW92
ZUFsbENvbnRlbnRSdWxlTGlzdHNdOwogCiAgICAgX19ibG9jayBSZXRhaW5QdHI8V0tDb250ZW50
UnVsZUxpc3Q+IGxpc3Q7Ci0gICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9y
ZV0gX2NvbXBpbGVDb250ZW50UnVsZUxpc3RGb3JJZGVudGlmaWVyOkAidGVzdGlkZW50aWZpZXIi
IGVuY29kZWRDb250ZW50UnVsZUxpc3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlcyIs
IGpzb25dIGFsbG93ZWRSZWRpcmVjdFNjaGVtZXM6W05TU2V0IHNldFdpdGhPYmplY3RzOkAidGVz
dHNjaGVtZSIsIEAib3RoZXJ0ZXN0c2NoZW1lIiwgbmlsXSBjb21wbGV0aW9uSGFuZGxlcjpeKFdL
Q29udGVudFJ1bGVMaXN0ICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgW1tXS0NvbnRl
bnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRSdWxlTGlzdEZvcklk
ZW50aWZpZXI6QCJ0ZXN0aWRlbnRpZmllciIgZW5jb2RlZENvbnRlbnRSdWxlTGlzdDpbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVzIiwganNvbl0gY29tcGxldGlvbkhhbmRsZXI6XihXS0Nv
bnRlbnRSdWxlTGlzdCAqZmlsdGVyLCBOU0Vycm9yICplcnJvcikgewogICAgICAgICBFWFBFQ1Rf
TlVMTChlcnJvcik7CiAgICAgICAgIGxpc3QgPSBmaWx0ZXI7CiAgICAgfV07Cg==
</data>
<flag name="review"
          id="469849"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>