<?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>231710</bug_id>
          
          <creation_ts>2021-10-13 17:06:18 -0700</creation_ts>
          <short_desc>[JS IPC] Make it possible to establish a stream connection using the JS IPC testing API</short_desc>
          <delta_ts>2021-10-14 14:23:15 -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>231701</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1804072</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-13 17:06:18 -0700</bug_when>
    <thetext>Work towards fixing #231701</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804094</commentid>
    <comment_count>1</comment_count>
      <attachid>441163</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-13 17:24:02 -0700</bug_when>
    <thetext>Created attachment 441163
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804099</commentid>
    <comment_count>2</comment_count>
      <attachid>441166</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-13 17:40:46 -0700</bug_when>
    <thetext>Created attachment 441166
Minor style tweak</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804506</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-14 14:22:21 -0700</bug_when>
    <thetext>Committed r284199 (243013@main): &lt;https://commits.webkit.org/243013@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441166.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804507</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-14 14:23:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/84274222&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441163</attachid>
            <date>2021-10-13 17:24:02 -0700</date>
            <delta_ts>2021-10-13 17:40:44 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-231710-20211013172402.patch</filename>
            <type>text/plain</type>
            <size>21021</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIxMzEyOGZhMDI2ZGZiYzM2
OTVhNWFkYWRmZTZlN2ViNDA4MTFhYTguLjE5ZDZjMjBhNTdkODJjMTA0YTE1ZDIyMjY3NTgwMWRl
NThmNTgxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjEtMTAtMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gTWFrZSBp
dCBwb3NzaWJsZSB0byBlc3RhYmxpc2ggYSBzdHJlYW0gY29ubmVjdGlvbiB1c2luZyB0aGUgSlMg
SVBDIHRlc3RpbmcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXb3JrIHRvd2FyZHMgZml4aW5nIElQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZUlQQ1Nl
bWFwaG9yZSBhbmQgSVBDVGVzdGluZ0FQSS5DYW5SZWNlaXZlU2hhcmVkTWVtb3J5LCB3aGljaCBi
cm9rZQorICAgICAgICBhZnRlciBJIHJlZmFjdG9yZWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCB0
byBiZSBhIElQQyBzdHJlYW0gbWVzc2FnZSByZWNlaXZlciAoaW5zdGVhZCBvZiBhIHN0YW5kYXJk
IElQQyBtZXNzYWdlCisgICAgICAgIHJlY2VpdmVyKS4gVG8gYWNoaWV2ZSB0aGlzLCB3ZSBpbnRy
b2R1Y2UgdHdvIG5ldyBKUyB3cmFwcGVyIG9iamVjdHMgdG8gZW5jYXBzdWxhdGUgYW4gSVBDIHN0
cmVhbSBjbGllbnQKKyAgICAgICAgY29ubmVjdGlvbiwgYXMgd2VsbCBhcyB0aGUgc3RyZWFtIGJ1
ZmZlciB1c2VkIHRvIHNlcnZpY2UgdGhhdCBjb25uZWN0aW9uLgorCisgICAgICAgIFRoaXMgYWxs
b3dzIHVzIHRvIGVzdGFibGlzaCBhIHN0cmVhbWluZyBJUEMgY29ubmVjdGlvbiBmcm9tIHRoZSB3
ZWIgcHJvY2VzcyB0byB0aGUgR1BVIHByb2Nlc3MgdmlhIEpTIElQQyBBUEksCisgICAgICAgIGxp
a2Ugc286CisKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IGJ1ZmZlclNpemUgPSAxIDw8IDE2
OworICAgICAgICBjb25zdCBzdHJlYW1Db25uZWN0aW9uID0gSVBDLmNyZWF0ZVN0cmVhbUNsaWVu
dENvbm5lY3Rpb24oJ0dQVScsIGJ1ZmZlclNpemUpOworICAgICAgICBJUEMuc2VuZE1lc3NhZ2Uo
J0dQVScsIDAsIElQQy5tZXNzYWdlcy5HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzX0NyZWF0ZVJl
bmRlcmluZ0JhY2tlbmQubmFtZSwgWworICAgICAgICAgICAgeyB0eXBlOiAnUmVtb3RlUmVuZGVy
aW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycycsICdpZGVudGlmaWVyJzogMTIzLCAncGFnZVBy
b3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQnOiBJUEMucGFnZUlEIH0sCisgICAg
ICAgICAgICB7IHR5cGU6ICdTdHJlYW1Db25uZWN0aW9uQnVmZmVyJywgdmFsdWU6IHN0cmVhbUNv
bm5lY3Rpb24uc3RyZWFtQnVmZmVyKCkgfQorICAgICAgICBdKTsKKyAgICAgICAgYGBgCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1DbGllbnRDb25u
ZWN0aW9uOjpjb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJ
UENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZm
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFt
Q29ubmVjdGlvbkJ1ZmZlcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVz
dGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpKU0lQQ1N0cmVhbUNvbm5lY3Rp
b25CdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNs
aWVudENvbm5lY3Rpb246OmNyZWF0ZUpTV3JhcHBlcik6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rl
c3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6d3JhcHBlckNsYXNzKToKKyAg
ICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9u
Ojp1bndyYXApOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNs
aWVudENvbm5lY3Rpb246OnRvV3JhcHBlZCk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdB
UEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChX
ZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6ZmluYWxp
emUpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNsaWVudENv
bm5lY3Rpb246OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdB
UEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RyZWFtQnVmZmVyKToKKyAgICAgICAg
KFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpjcmVh
dGVKU1dyYXBwZXIpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVh
bUNvbm5lY3Rpb25CdWZmZXI6OndyYXBwZXJDbGFzcyk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rl
c3RpbmdBUEk6OkpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6dW53cmFwKToKKyAgICAgICAg
KFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjp0b1dy
YXBwZWQpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNvbm5l
Y3Rpb25CdWZmZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJ
OjpKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXI6OmZpbmFsaXplKToKKyAgICAgICAgKFdlYktp
dDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpzdGF0aWNGdW5j
dGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6c3RhdGljRnVu
Y3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6ZW5jb2RlU3RyZWFtQ29u
bmVjdGlvbkJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OmVuY29kZUFy
Z3VtZW50KToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUEM6OmNyZWF0ZVN0
cmVhbUNsaWVudENvbm5lY3Rpb24pOgorCiAyMDIxLTEwLTEzICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgYm90aCBWSyBhbmQgVktDLXBy
ZWZpeGVkIFNQSSB3aGVuIHNvZnRsaW5raW5nIFZpc2lvbktpdENvcmUgY2xhc3NlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAppbmRl
eCA2MDA1NGFhOTNlM2I1YTI3YjdjNThiMjMxYTdkYWFhYmZjMzhiNDQ0Li5hZDkxMzEwMDRjMmYy
YmIzOGVmNWEzNTA2NWI1MzU4ZTRlNjZhMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcApAQCAtMzYsNiArMzYsOCBAQAogI2lu
Y2x1ZGUgIk1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVh
dGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJTdHJlYW1DbGllbnRDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgpAQCAtOTMsNiArOTUsNjEgQEAgcHJpdmF0ZToKICAgICBJUEM6OlNlbWFwaG9yZSBtX3NlbWFw
aG9yZTsKIH07CiAKK2NsYXNzIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiA6IHB1YmxpYyBS
ZWZDb3VudGVkPEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbj4geworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8SlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uPiBjcmVhdGUoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgYnVmZmVyU2l6ZSkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbihjb25uZWN0aW9uLCBi
dWZmZXJTaXplKSk7CisgICAgfQorCisgICAgSlNPYmplY3RSZWYgY3JlYXRlSlNXcmFwcGVyKEpT
Q29udGV4dFJlZik7CisgICAgc3RhdGljIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiogdG9X
cmFwcGVkKEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZik7CisKKyAgICBJUEM6OlN0cmVhbUNsaWVu
dENvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSB7IHJldHVybiBtX3N0cmVhbUNvbm5lY3Rpb247IH0K
KworcHJpdmF0ZToKKyAgICBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb24oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgYnVmZmVyU2l6ZSkKKyAgICAgICAgOiBtX3N0cmVhbUNv
bm5lY3Rpb24geyBjb25uZWN0aW9uLCBidWZmZXJTaXplIH0KKyAgICB7IH0KKworICAgIHN0YXRp
YyBKU0NsYXNzUmVmIHdyYXBwZXJDbGFzcygpOworICAgIHN0YXRpYyBKU0lQQ1N0cmVhbUNsaWVu
dENvbm5lY3Rpb24qIHVud3JhcChKU09iamVjdFJlZik7CisgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmKTsKKyAgICBzdGF0aWMgdm9pZCBmaW5hbGl6
ZShKU09iamVjdFJlZik7CisKKyAgICBzdGF0aWMgY29uc3QgSlNTdGF0aWNGdW5jdGlvbiogc3Rh
dGljRnVuY3Rpb25zKCk7CisgICAgc3RhdGljIEpTVmFsdWVSZWYgc3RyZWFtQnVmZmVyKEpTQ29u
dGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pOworCisgICAgSVBDOjpTdHJlYW1DbGllbnRDb25uZWN0aW9uIG1fc3RyZWFtQ29ubmVj
dGlvbjsKK307CisKK2NsYXNzIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcj4geworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyPiBjcmVhdGUoSlNJUENTdHJlYW1D
bGllbnRDb25uZWN0aW9uJiBzdHJlYW1Db25uZWN0aW9uKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgSlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyKHN0cmVhbUNvbm5lY3Rp
b24pKTsKKyAgICB9CisKKyAgICBKU09iamVjdFJlZiBjcmVhdGVKU1dyYXBwZXIoSlNDb250ZXh0
UmVmKTsKKyAgICBzdGF0aWMgSlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyKiB0b1dyYXBwZWQo
SlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmKTsKKworICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QgeyBtX3N0cmVhbUNvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zdHJl
YW1CdWZmZXIoKS5lbmNvZGUoZW5jb2Rlcik7IH0KKworcHJpdmF0ZToKKyAgICBKU0lQQ1N0cmVh
bUNvbm5lY3Rpb25CdWZmZXIoSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uJiBzdHJlYW1Db25u
ZWN0aW9uKQorICAgICAgICA6IG1fc3RyZWFtQ29ubmVjdGlvbihzdHJlYW1Db25uZWN0aW9uKQor
ICAgIHsgfQorCisgICAgc3RhdGljIEpTQ2xhc3NSZWYgd3JhcHBlckNsYXNzKCk7CisgICAgc3Rh
dGljIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciogdW53cmFwKEpTT2JqZWN0UmVmKTsKKyAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYpOworICAg
IHN0YXRpYyB2b2lkIGZpbmFsaXplKEpTT2JqZWN0UmVmKTsKKworICAgIHN0YXRpYyBjb25zdCBK
U1N0YXRpY0Z1bmN0aW9uKiBzdGF0aWNGdW5jdGlvbnMoKTsKKworICAgIFJlZjxKU0lQQ1N0cmVh
bUNsaWVudENvbm5lY3Rpb24+IG1fc3RyZWFtQ29ubmVjdGlvbjsKK307CisKIGNsYXNzIEpTU2hh
cmVkTWVtb3J5IDogcHVibGljIFJlZkNvdW50ZWQ8SlNTaGFyZWRNZW1vcnk+IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPEpTU2hhcmVkTWVtb3J5PiBjcmVhdGUoc2l6ZV90IHNpemUpCkBAIC0x
ODUsNiArMjQyLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBzZW5kTWVzc2Fn
ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKTsKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBzZW5kU3luY01lc3NhZ2UoSlND
b250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbik7CiAKKyAgICBzdGF0aWMgSlNWYWx1ZVJlZiBjcmVhdGVTdHJlYW1DbGllbnRDb25u
ZWN0aW9uKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pOwogICAgIHN0YXRpYyBKU1ZhbHVlUmVmIGNyZWF0ZVNlbWFwaG9y
ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKTsKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBjcmVhdGVTaGFyZWRNZW1vcnko
SlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbik7CiAKQEAgLTI4MSw2ICszMzksMTMyIEBAIGNvbnN0IEpTU3RhdGljRnVuY3Rp
b24qIEpTSVBDU2VtYXBob3JlOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgIHJldHVybiBmdW5jdGlv
bnM7CiB9CiAKK0pTT2JqZWN0UmVmIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRl
SlNXcmFwcGVyKEpTQ29udGV4dFJlZiBjb250ZXh0KQoreworICAgIGF1dG8qIGdsb2JhbE9iamVj
dCA9IHRvSlMoY29udGV4dCk7CisgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Cisg
ICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
Q0FUQ0hfU0NPUEUodm0pOworICAgIEpTT2JqZWN0UmVmIHdyYXBwZXJPYmplY3QgPSBKU09iamVj
dE1ha2UodG9HbG9iYWxSZWYoZ2xvYmFsT2JqZWN0KSwgd3JhcHBlckNsYXNzKCksIHRoaXMpOwor
ICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgcmV0dXJuIHdyYXBwZXJPYmplY3Q7Cit9
CisKK0pTQ2xhc3NSZWYgSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjp3cmFwcGVyQ2xhc3Mo
KQoreworICAgIHN0YXRpYyBKU0NsYXNzUmVmIGpzQ2xhc3M7CisgICAgaWYgKCFqc0NsYXNzKSB7
CisgICAgICAgIEpTQ2xhc3NEZWZpbml0aW9uIGRlZmluaXRpb24gPSBrSlNDbGFzc0RlZmluaXRp
b25FbXB0eTsKKyAgICAgICAgZGVmaW5pdGlvbi5jbGFzc05hbWUgPSAiU3RyZWFtQ2xpZW50Q29u
bmVjdGlvbiI7CisgICAgICAgIGRlZmluaXRpb24ucGFyZW50Q2xhc3MgPSBudWxscHRyOworICAg
ICAgICBkZWZpbml0aW9uLnN0YXRpY1ZhbHVlcyA9IG51bGxwdHI7CisgICAgICAgIGRlZmluaXRp
b24uc3RhdGljRnVuY3Rpb25zID0gc3RhdGljRnVuY3Rpb25zKCk7CisgICAgICAgIGRlZmluaXRp
b24uaW5pdGlhbGl6ZSA9IGluaXRpYWxpemU7CisgICAgICAgIGRlZmluaXRpb24uZmluYWxpemUg
PSBmaW5hbGl6ZTsKKyAgICAgICAganNDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmRlZmluaXRpb24p
OworICAgIH0KKyAgICByZXR1cm4ganNDbGFzczsKK30KKworaW5saW5lIEpTSVBDU3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbiogSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjp1bndyYXAoSlNPYmpl
Y3RSZWYgb2JqZWN0KQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0lQQ1N0cmVhbUNsaWVu
dENvbm5lY3Rpb24qPihKU09iamVjdEdldFByaXZhdGUob2JqZWN0KSk7Cit9CisKK0pTSVBDU3Ry
ZWFtQ2xpZW50Q29ubmVjdGlvbiogSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjp0b1dyYXBw
ZWQoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYgdmFsdWUpCit7CisgICAgaWYgKCFj
b250ZXh0IHx8ICF2YWx1ZSB8fCAhSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhjb250ZXh0LCB2YWx1
ZSwgd3JhcHBlckNsYXNzKCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4g
dW53cmFwKEpTVmFsdWVUb09iamVjdChjb250ZXh0LCB2YWx1ZSwgbnVsbHB0cikpOworfQorCit2
b2lkIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6aW5pdGlhbGl6ZShKU0NvbnRleHRSZWYs
IEpTT2JqZWN0UmVmIG9iamVjdCkKK3sKKyAgICB1bndyYXAob2JqZWN0KS0+cmVmKCk7Cit9CisK
K3ZvaWQgSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpmaW5hbGl6ZShKU09iamVjdFJlZiBv
YmplY3QpCit7CisgICAgdW53cmFwKG9iamVjdCktPmRlcmVmKCk7Cit9CisKK2NvbnN0IEpTU3Rh
dGljRnVuY3Rpb24qIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RhdGljRnVuY3Rpb25z
KCkKK3sKKyAgICBzdGF0aWMgY29uc3QgSlNTdGF0aWNGdW5jdGlvbiBmdW5jdGlvbnNbXSA9IHsK
KyAgICAgICAgeyAic3RyZWFtQnVmZmVyIiwgc3RyZWFtQnVmZmVyLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCisgICAgICAg
IHsgMCwgMCwgMCB9CisgICAgfTsKKyAgICByZXR1cm4gZnVuY3Rpb25zOworfQorCitKU1ZhbHVl
UmVmIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RyZWFtQnVmZmVyKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKK3sKKyAgICBSZWZQdHIganNTdHJlYW1Db25uZWN0aW9uID0gdG9XcmFwcGVkKGNv
bnRleHQsIHRoaXNPYmplY3QpOworICAgIGlmICghanNTdHJlYW1Db25uZWN0aW9uKSB7CisgICAg
ICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIldyb25nIHR5cGUiX3Mp
OworICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgfQor
CisgICAgcmV0dXJuIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6Y3JlYXRlKCpqc1N0cmVh
bUNvbm5lY3Rpb24pLT5jcmVhdGVKU1dyYXBwZXIoY29udGV4dCk7Cit9CisKK0pTT2JqZWN0UmVm
IEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6Y3JlYXRlSlNXcmFwcGVyKEpTQ29udGV4dFJl
ZiBjb250ZXh0KQoreworICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7Cisg
ICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIg
bG9jayh2bSk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAg
IEpTT2JqZWN0UmVmIHdyYXBwZXJPYmplY3QgPSBKU09iamVjdE1ha2UodG9HbG9iYWxSZWYoZ2xv
YmFsT2JqZWN0KSwgd3JhcHBlckNsYXNzKCksIHRoaXMpOworICAgIHNjb3BlLmNsZWFyRXhjZXB0
aW9uKCk7CisgICAgcmV0dXJuIHdyYXBwZXJPYmplY3Q7Cit9CisKK0pTQ2xhc3NSZWYgSlNJUENT
dHJlYW1Db25uZWN0aW9uQnVmZmVyOjp3cmFwcGVyQ2xhc3MoKQoreworICAgIHN0YXRpYyBKU0Ns
YXNzUmVmIGpzQ2xhc3M7CisgICAgaWYgKCFqc0NsYXNzKSB7CisgICAgICAgIEpTQ2xhc3NEZWZp
bml0aW9uIGRlZmluaXRpb24gPSBrSlNDbGFzc0RlZmluaXRpb25FbXB0eTsKKyAgICAgICAgZGVm
aW5pdGlvbi5jbGFzc05hbWUgPSAiU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciI7CisgICAgICAgIGRl
ZmluaXRpb24ucGFyZW50Q2xhc3MgPSBudWxscHRyOworICAgICAgICBkZWZpbml0aW9uLnN0YXRp
Y1ZhbHVlcyA9IG51bGxwdHI7CisgICAgICAgIGRlZmluaXRpb24uc3RhdGljRnVuY3Rpb25zID0g
c3RhdGljRnVuY3Rpb25zKCk7CisgICAgICAgIGRlZmluaXRpb24uaW5pdGlhbGl6ZSA9IGluaXRp
YWxpemU7CisgICAgICAgIGRlZmluaXRpb24uZmluYWxpemUgPSBmaW5hbGl6ZTsKKyAgICAgICAg
anNDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmRlZmluaXRpb24pOworICAgIH0KKyAgICByZXR1cm4g
anNDbGFzczsKK30KKworaW5saW5lIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciogSlNJUENT
dHJlYW1Db25uZWN0aW9uQnVmZmVyOjp1bndyYXAoSlNPYmplY3RSZWYgb2JqZWN0KQoreworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXIqPihKU09iamVj
dEdldFByaXZhdGUob2JqZWN0KSk7Cit9CisKK0pTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciog
SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjp0b1dyYXBwZWQoSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTVmFsdWVSZWYgdmFsdWUpCit7CisgICAgaWYgKCFjb250ZXh0IHx8ICF2YWx1ZSB8fCAh
SlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhjb250ZXh0LCB2YWx1ZSwgd3JhcHBlckNsYXNzKCkpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gdW53cmFwKEpTVmFsdWVUb09iamVj
dChjb250ZXh0LCB2YWx1ZSwgbnVsbHB0cikpOworfQorCit2b2lkIEpTSVBDU3RyZWFtQ29ubmVj
dGlvbkJ1ZmZlcjo6aW5pdGlhbGl6ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmIG9iamVjdCkK
K3sKKyAgICB1bndyYXAob2JqZWN0KS0+cmVmKCk7Cit9CisKK3ZvaWQgSlNJUENTdHJlYW1Db25u
ZWN0aW9uQnVmZmVyOjpmaW5hbGl6ZShKU09iamVjdFJlZiBvYmplY3QpCit7CisgICAgdW53cmFw
KG9iamVjdCktPmRlcmVmKCk7Cit9CisKK2NvbnN0IEpTU3RhdGljRnVuY3Rpb24qIEpTSVBDU3Ry
ZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6c3RhdGljRnVuY3Rpb25zKCkKK3sKKyAgICBzdGF0aWMgY29u
c3QgSlNTdGF0aWNGdW5jdGlvbiBmdW5jdGlvbnNbXSA9IHsKKyAgICAgICAgeyAwLCAwLCAwIH0K
KyAgICB9OworICAgIHJldHVybiBmdW5jdGlvbnM7Cit9CisKIEpTVmFsdWVSZWYgSlNJUENTZW1h
cGhvcmU6OnNpZ25hbChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFy
Z3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgYXV0byogZ2xvYmFsT2Jq
ZWN0ID0gdG9KUyhjb250ZXh0KTsKQEAgLTU3Niw2ICs3NjAsNyBAQCBjb25zdCBKU1N0YXRpY0Z1
bmN0aW9uKiBKU0lQQzo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAiYWRkT3V0Z29pbmdN
ZXNzYWdlTGlzdGVuZXIiLCBhZGRPdXRnb2luZ01lc3NhZ2VMaXN0ZW5lciwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAg
ICAgICB7ICJzZW5kTWVzc2FnZSIsIHNlbmRNZXNzYWdlLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCiAgICAgICAgIHsgInNl
bmRTeW5jTWVzc2FnZSIsIHNlbmRTeW5jTWVzc2FnZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAorICAgICAgICB7ICJjcmVh
dGVTdHJlYW1DbGllbnRDb25uZWN0aW9uIiwgY3JlYXRlU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB9LAogICAgICAgICB7ICJjcmVhdGVTZW1hcGhvcmUiLCBjcmVhdGVTZW1hcGhvcmUsIGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfSwKICAgICAgICAgeyAiY3JlYXRlU2hhcmVkTWVtb3J5IiwgY3JlYXRlU2hhcmVkTWVtb3J5
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CkBAIC03NzUsNiArOTYwLDggQEAgc3RhdGlj
IGJvb2wgZW5jb2RlUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycyhJUEM6
OkVuY29kZXImIGVuY29kZXIKIH0KICNlbmRpZgogCisKKwogc3RhdGljIGJvb2wgZW5jb2RlU2hh
cmVkTWVtb3J5KElQQzo6RW5jb2RlciYgZW5jb2RlciwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0M6OkpTT2JqZWN0KiBqc09iamVjdCwgSlNDOjpDYXRjaFNjb3BlJiBzY29w
ZSkKIHsKICAgICBhdXRvIGpzU2hhcmVkTWVtb3J5VmFsdWUgPSBqc09iamVjdC0+Z2V0KGdsb2Jh
bE9iamVjdCwgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGdsb2JhbE9iamVjdC0+dm0oKSwg
InZhbHVlIl9zKSk7CkBAIC04MTIsNiArOTk5LDE2IEBAIHN0YXRpYyBib29sIGVuY29kZVNoYXJl
ZE1lbW9yeShJUEM6OkVuY29kZXImIGVuY29kZXIsIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2Jh
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGVuY29kZVN0cmVhbUNvbm5lY3Rp
b25CdWZmZXIoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlLCBKU0M6OkNhdGNoU2NvcGUmIHNjb3BlKQor
eworICAgIFJlZlB0ciBqc0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXIgPSBKU0lQQ1N0cmVhbUNv
bm5lY3Rpb25CdWZmZXI6OnRvV3JhcHBlZCh0b1JlZihnbG9iYWxPYmplY3QpLCB0b1JlZihqc1Zh
bHVlKSk7CisgICAgaWYgKCFqc0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXIpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGpzSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlci0+ZW5jb2RlKGVu
Y29kZXIpOworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgYm9vbCBlbmNvZGVTZW1hcGhv
cmUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlLCBKU0M6OkNhdGNoU2NvcGUmIHNjb3BlKQogewogICAg
IFJlZlB0ciBqc0lQQ1NlbWFwaG9yZSA9IEpTSVBDU2VtYXBob3JlOjp0b1dyYXBwZWQodG9SZWYo
Z2xvYmFsT2JqZWN0KSwgdG9SZWYoanNWYWx1ZSkpOwpAQCAtOTY2LDYgKzExNjMsMTQgQEAgc3Rh
dGljIGJvb2wgZW5jb2RlQXJndW1lbnQoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBKU0lQQyYganNJ
UEMsIEpTQ29udGV4dFJlZiBjb24KICAgICBpZiAoc2NvcGUuZXhjZXB0aW9uKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmICh0eXBlID09ICJTdHJlYW1Db25uZWN0aW9uQnVmZmVy
IikgeworICAgICAgICBpZiAoIWVuY29kZVN0cmVhbUNvbm5lY3Rpb25CdWZmZXIoZW5jb2Rlciwg
Z2xvYmFsT2JqZWN0LCBqc1ZhbHVlLCBzY29wZSkpIHsKKyAgICAgICAgICAgICpleGNlcHRpb24g
PSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIkZhaWxlZCB0byBjb252ZXJ0IFN0cmVhbUNvbm5l
Y3Rpb25CdWZmZXIiX3MpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIGlmICh0eXBlID09ICJTZW1hcGhvcmUi
KSB7CiAgICAgICAgIGlmICghZW5jb2RlU2VtYXBob3JlKGVuY29kZXIsIGdsb2JhbE9iamVjdCwg
anNWYWx1ZSwgc2NvcGUpKSB7CiAgICAgICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVy
cm9yKGNvbnRleHQsICJGYWlsZWQgdG8gY29udmVydCBTZW1hcGhvcmUiX3MpOwpAQCAtMTI0NSw2
ICsxNDUwLDM0IEBAIEpTVmFsdWVSZWYgSlNJUEM6OnNlbmRTeW5jTWVzc2FnZShKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmCiAgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQogCitKU1ZhbHVlUmVmIEpTSVBDOjpjcmVhdGVTdHJl
YW1DbGllbnRDb25uZWN0aW9uKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNP
YmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVS
ZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBhdXRvKiBnbG9i
YWxPYmplY3QgPSB0b0pTKGNvbnRleHQpOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2soZ2xv
YmFsT2JqZWN0LT52bSgpKTsKKyAgICBSZWZQdHIganNJUEMgPSB0b1dyYXBwZWQoY29udGV4dCwg
dGhpc09iamVjdCk7CisgICAgaWYgKCFqc0lQQykgeworICAgICAgICAqZXhjZXB0aW9uID0gY3Jl
YXRlVHlwZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgIH0KKworICAgIGlmIChhcmd1bWVudENv
dW50IDwgMikgeworICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQs
ICJNdXN0IHNwZWNpZnkgdGhlIHRhcmdldCBwcm9jZXNzIGFuZCBidWZmZXIgc2l6ZSBhcyB0aGUg
Zmlyc3QgdHdvIGFyZ3VtZW50cyJfcyk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVm
aW5lZChjb250ZXh0KTsKKyAgICB9CisKKyAgICBhdXRvIGNvbm5lY3Rpb24gPSBwcm9jZXNzVGFy
Z2V0RnJvbUFyZ3VtZW50KGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzBdLCBleGNlcHRpb24pOwor
ICAgIGlmICghY29ubmVjdGlvbikKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOworCisgICAgYXV0byBidWZmZXJTaXplID0gYXJndW1lbnRDb3VudCA/IGNvbnZl
cnRUb1VpbnQ2NCh0b0pTKGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzFdKSkgOiBzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90PiB7IH07CisgICAgaWYgKCFidWZmZXJTaXplKSB7CisgICAgICAgICpleGNl
cHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIk11c3Qgc3BlY2lmeSB0aGUgc2l6ZSJf
cyk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICB9
CisKKyAgICByZXR1cm4gSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpjcmVhdGUoKmNvbm5l
Y3Rpb24sICpidWZmZXJTaXplKS0+Y3JlYXRlSlNXcmFwcGVyKGNvbnRleHQpOworfQorCiBKU1Zh
bHVlUmVmIEpTSVBDOjpjcmVhdGVTZW1hcGhvcmUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29u
c3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAg
IHJldHVybiBKU0lQQ1NlbWFwaG9yZTo6Y3JlYXRlKCktPmNyZWF0ZUpTV3JhcHBlcihjb250ZXh0
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4
N2FhM2M3ODUyYWUwMDBkMDQyYjgzNzAyMmFhMzQ3ZThmNzRiZWZlLi42YTA1ZTJiZDBjMzdhYTM1
MzczZDZiZWU4NTg0MjE3NDAyODQxZjRjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMTAtMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gTWFrZSBp
dCBwb3NzaWJsZSB0byBlc3RhYmxpc2ggYSBzdHJlYW0gY29ubmVjdGlvbiB1c2luZyB0aGUgSlMg
SVBDIHRlc3RpbmcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBTZWUgV2ViS2l0IENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5nQVBJLm1tOgorCisg
ICAgICAgIEFkanVzdCB0aGVzZSB0d28gQVBJIHRlc3RzIHNvIHRoYXQgdGhleSBhY3R1YWxseSBl
bmQgdXAgY3JlYXRpbmcgYSBuZXcgcmVtb3RlIHJlbmRlcmluZyBiYWNrZW5kIGluIHRoZSBHUFUK
KyAgICAgICAgcHJvY2VzcywgaW5zdGVhZCBvZiBmYWlsaW5nIHRvIGRlY29kZSBiZWNhdXNlIHdl
J3JlIG1pc3NpbmcgYSBTdHJlYW1Db25uZWN0aW9uQnVmZmVyLiBUaGlzIGFsbG93cyB1cyB0byBt
YWtlIGl0CisgICAgICAgIHRvIGBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVSZW5k
ZXJpbmdCYWNrZW5kYCBhbmQgYWN0dWFsbHkgY3JlYXRlIHRoZSBjb3JyZXNwb25kaW5nIHJlbmRl
cmluZyBiYWNrZW5kOworICAgICAgICBob3dldmVyLCB0aGlzIGlzIHN0aWxsIGluc3VmZmljaWVu
dCB0byBmaXggdGhlIGZhaWxpbmcgQVBJIHRlc3RzLCBzaW5jZSB0aGVyZSBpcyBzdGlsbCBubyBt
ZWNoYW5pc20gdG8gKDEpCisgICAgICAgIHdhaXQgZm9yIGFuZCByZWNlaXZlIHRoZSBzdHJlYW0g
d2FrZXVwIHNlbWFwaG9yZSBpbiB0aGUgd2ViIHByb2Nlc3MsIGFuZCAoMikgc2VuZCBzdHJlYW0g
bWVzc2FnZXMgdXNpbmcgYW4KKyAgICAgICAgaW5zdGFuY2Ugb2YgdGhlIHN0cmVhbSBjbGllbnQg
Y29ubmVjdGlvbi4KKwogMjAyMS0xMC0xMiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0FwcGxlU2lsaWNvbl0gU3VwcG9ydCBuYXRpdmUgc2ltdWxhdG9y
IHRlc3RpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvSVBDVGVzdGluZ0FQSS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvSVBDVGVzdGluZ0FQSS5tbQppbmRleCA1YWE5YmI3YjMwYTE3Y2E2MzIzZWRiNmJkZGVmY2Uy
YWExODVkODliLi5kOTJjZWMxOGZlMDQ4MDFiYmRkYTU5M2ZlYzI4N2FkYWRkYjc5NTMyIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0lQQ1Rlc3RpbmdB
UEkubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0
aW5nQVBJLm1tCkBAIC0yOTEsMTQgKzI5MSwxOSBAQCBURVNUKElQQ1Rlc3RpbmdBUEksIENhblJl
Y2VpdmVJUENTZW1hcGhvcmUpCiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07CiAKICAgICBkb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxv
YWRIVE1MU3RyaW5nOkAiPCFET0NUWVBFIGh0bWw+PHNjcmlwdD4iCi0gICAgICAgICJjb25zdCBz
ZW1hcGhvcmUgPSBJUEMuY3JlYXRlU2VtYXBob3JlKCk7IgotICAgICAgICAiSVBDLnNlbmRNZXNz
YWdlKCdHUFUnLCAwLCBJUEMubWVzc2FnZXMuR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc19DcmVh
dGVSZW5kZXJpbmdCYWNrZW5kLm5hbWUsIgotICAgICAgICAiICAgIFt7dHlwZTogJ1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMnLCAnaWRlbnRpZmllcic6IDEyMywgc2Vt
YXBob3JlLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQnOiBJUEMu
cGFnZUlEfV0pOyIKKyAgICBhdXRvIGh0bWwgPSBAIjwhRE9DVFlQRSBodG1sPiIKKyAgICAgICAg
IjxzY3JpcHQ+IgorICAgICAgICAiY29uc3QgYnVmZmVyU2l6ZSA9IDEgPDwgMTY7IgorICAgICAg
ICAiY29uc3Qgc3RyZWFtQ29ubmVjdGlvbiA9IElQQy5jcmVhdGVTdHJlYW1DbGllbnRDb25uZWN0
aW9uKCdHUFUnLCBidWZmZXJTaXplKTsiCisgICAgICAgICJJUEMuc2VuZE1lc3NhZ2UoJ0dQVScs
IDAsIElQQy5tZXNzYWdlcy5HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzX0NyZWF0ZVJlbmRlcmlu
Z0JhY2tlbmQubmFtZSwgWyIKKyAgICAgICAgIiAgICB7IHR5cGU6ICdSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzJywgJ2lkZW50aWZpZXInOiAxMjMsICdwYWdlUHJveHlJ
RCc6IElQQy53ZWJQYWdlUHJveHlJRCwgJ3BhZ2VJRCc6IElQQy5wYWdlSUQgfSwiCisgICAgICAg
ICIgICAgeyB0eXBlOiAnU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcicsIHZhbHVlOiBzdHJlYW1Db25u
ZWN0aW9uLnN0cmVhbUJ1ZmZlcigpIH0sIgorICAgICAgICAiXSk7IgogICAgICAgICAiY29uc3Qg
cmVzdWx0ID0gSVBDLnNlbmRTeW5jTWVzc2FnZSgnR1BVJywgMTIzLCBJUEMubWVzc2FnZXMuUmVt
b3RlUmVuZGVyaW5nQmFja2VuZF9TZW1hcGhvcmVGb3JHZXRQaXhlbEJ1ZmZlci5uYW1lLCAxMDAs
IFtdKTsiCiAgICAgICAgICJzZW1hcGhvcmUuc2lnbmFsKCk7IgogICAgICAgICAiYWxlcnQocmVz
dWx0LmFyZ3VtZW50cy5sZW5ndGggKyAnOicgKyByZXN1bHQuYXJndW1lbnRzWzBdLnR5cGUgKyAn
OicgKyByZXN1bHQuYXJndW1lbnRzWzBdLnZhbHVlLndhaXRGb3IoMTAwKSk7IgotICAgICAgICAi
PC9zY3JpcHQ+Il07CisgICAgICAgICI8L3NjcmlwdD4iOworICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZzpodG1sXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRvbmUpOwogCiAgICAgRVhQRUNUX1NUUkVRKFthbGVydE1lc3NhZ2UgVVRGOFN0cmluZ10sICIx
OlNlbWFwaG9yZTpmYWxzZSIpOwpAQCAtMzExLDEzICszMTYsMTcgQEAgVEVTVChJUENUZXN0aW5n
QVBJLCBDYW5SZWNlaXZlU2hhcmVkTWVtb3J5KQogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbSVBDVGVzdGluZ0FQSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0
VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKLSAgICBhdXRvKiBodG1sID0gQFIiSFRNTCg8
IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1JUEMuc2VuZE1lc3NhZ2UoJ0dQVScsIDAsIElQQy5t
ZXNzYWdlcy5HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzX0NyZWF0ZVJlbmRlcmluZ0JhY2tlbmQu
bmFtZSwKLSAgICBbe3R5cGU6ICdSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0
ZXJzJywgJ2lkZW50aWZpZXInOiAxMjMsIHNlbWFwaG9yZTogSVBDLmNyZWF0ZVNlbWFwaG9yZSgp
LCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQnOiBJUEMucGFnZUlE
fV0pOwotY29uc3QgcmVzdWx0ID0gSVBDLnNlbmRTeW5jTWVzc2FnZSgnR1BVJywgMTIzLCBJUEMu
bWVzc2FnZXMuUmVtb3RlUmVuZGVyaW5nQmFja2VuZF9VcGRhdGVTaGFyZWRNZW1vcnlGb3JHZXRQ
aXhlbEJ1ZmZlci5uYW1lLCAxMDAsIFt7dHlwZTogJ3VpbnQzMl90JywgdmFsdWU6IDh9XSk7Ci1h
bGVydChyZXN1bHQuYXJndW1lbnRzLmxlbmd0aCk7Ci08L3NjcmlwdD4pSFRNTCI7CisgICAgYXV0
byBodG1sID0gQCI8IURPQ1RZUEUgaHRtbD4iCisgICAgICAgICI8c2NyaXB0PiIKKyAgICAgICAg
ImNvbnN0IGJ1ZmZlclNpemUgPSAxIDw8IDE2OyIKKyAgICAgICAgImNvbnN0IHN0cmVhbUNvbm5l
Y3Rpb24gPSBJUEMuY3JlYXRlU3RyZWFtQ2xpZW50Q29ubmVjdGlvbignR1BVJywgYnVmZmVyU2l6
ZSk7IgorICAgICAgICAiSVBDLnNlbmRNZXNzYWdlKCdHUFUnLCAwLCBJUEMubWVzc2FnZXMuR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzc19DcmVhdGVSZW5kZXJpbmdCYWNrZW5kLm5hbWUsIFsiCisg
ICAgICAgICIgICAgeyB0eXBlOiAnUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1l
dGVycycsICdpZGVudGlmaWVyJzogMTIzLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5
SUQsICdwYWdlSUQnOiBJUEMucGFnZUlEIH0sIgorICAgICAgICAiICAgIHsgdHlwZTogJ1N0cmVh
bUNvbm5lY3Rpb25CdWZmZXInLCB2YWx1ZTogc3RyZWFtQ29ubmVjdGlvbi5zdHJlYW1CdWZmZXIo
KSB9LCIKKyAgICAgICAgIl0pOyIKKyAgICAgICAgImNvbnN0IHJlc3VsdCA9IElQQy5zZW5kU3lu
Y01lc3NhZ2UoJ0dQVScsIDEyMywgSVBDLm1lc3NhZ2VzLlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRf
VXBkYXRlU2hhcmVkTWVtb3J5Rm9yR2V0UGl4ZWxCdWZmZXIubmFtZSwgMTAwLCBbe3R5cGU6ICd1
aW50MzJfdCcsIHZhbHVlOiA4fV0pOyIKKyAgICAgICAgImFsZXJ0KHJlc3VsdC5hcmd1bWVudHMu
bGVuZ3RoKTsiCisgICAgICAgICI8L3NjcmlwdD4iOwogCiAgICAgZG9uZSA9IGZhbHNlOwogICAg
IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpodG1sXTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441166</attachid>
            <date>2021-10-13 17:40:46 -0700</date>
            <delta_ts>2021-10-14 14:22:22 -0700</delta_ts>
            <desc>Minor style tweak</desc>
            <filename>bug-231710-20211013174045.patch</filename>
            <type>text/plain</type>
            <size>20640</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIxMzEyOGZhMDI2ZGZiYzM2
OTVhNWFkYWRmZTZlN2ViNDA4MTFhYTguLjE5ZDZjMjBhNTdkODJjMTA0YTE1ZDIyMjY3NTgwMWRl
NThmNTgxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjEtMTAtMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gTWFrZSBp
dCBwb3NzaWJsZSB0byBlc3RhYmxpc2ggYSBzdHJlYW0gY29ubmVjdGlvbiB1c2luZyB0aGUgSlMg
SVBDIHRlc3RpbmcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXb3JrIHRvd2FyZHMgZml4aW5nIElQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZUlQQ1Nl
bWFwaG9yZSBhbmQgSVBDVGVzdGluZ0FQSS5DYW5SZWNlaXZlU2hhcmVkTWVtb3J5LCB3aGljaCBi
cm9rZQorICAgICAgICBhZnRlciBJIHJlZmFjdG9yZWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCB0
byBiZSBhIElQQyBzdHJlYW0gbWVzc2FnZSByZWNlaXZlciAoaW5zdGVhZCBvZiBhIHN0YW5kYXJk
IElQQyBtZXNzYWdlCisgICAgICAgIHJlY2VpdmVyKS4gVG8gYWNoaWV2ZSB0aGlzLCB3ZSBpbnRy
b2R1Y2UgdHdvIG5ldyBKUyB3cmFwcGVyIG9iamVjdHMgdG8gZW5jYXBzdWxhdGUgYW4gSVBDIHN0
cmVhbSBjbGllbnQKKyAgICAgICAgY29ubmVjdGlvbiwgYXMgd2VsbCBhcyB0aGUgc3RyZWFtIGJ1
ZmZlciB1c2VkIHRvIHNlcnZpY2UgdGhhdCBjb25uZWN0aW9uLgorCisgICAgICAgIFRoaXMgYWxs
b3dzIHVzIHRvIGVzdGFibGlzaCBhIHN0cmVhbWluZyBJUEMgY29ubmVjdGlvbiBmcm9tIHRoZSB3
ZWIgcHJvY2VzcyB0byB0aGUgR1BVIHByb2Nlc3MgdmlhIEpTIElQQyBBUEksCisgICAgICAgIGxp
a2Ugc286CisKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IGJ1ZmZlclNpemUgPSAxIDw8IDE2
OworICAgICAgICBjb25zdCBzdHJlYW1Db25uZWN0aW9uID0gSVBDLmNyZWF0ZVN0cmVhbUNsaWVu
dENvbm5lY3Rpb24oJ0dQVScsIGJ1ZmZlclNpemUpOworICAgICAgICBJUEMuc2VuZE1lc3NhZ2Uo
J0dQVScsIDAsIElQQy5tZXNzYWdlcy5HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzX0NyZWF0ZVJl
bmRlcmluZ0JhY2tlbmQubmFtZSwgWworICAgICAgICAgICAgeyB0eXBlOiAnUmVtb3RlUmVuZGVy
aW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycycsICdpZGVudGlmaWVyJzogMTIzLCAncGFnZVBy
b3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQnOiBJUEMucGFnZUlEIH0sCisgICAg
ICAgICAgICB7IHR5cGU6ICdTdHJlYW1Db25uZWN0aW9uQnVmZmVyJywgdmFsdWU6IHN0cmVhbUNv
bm5lY3Rpb24uc3RyZWFtQnVmZmVyKCkgfQorICAgICAgICBdKTsKKyAgICAgICAgYGBgCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1DbGllbnRDb25u
ZWN0aW9uOjpjb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJ
UENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZm
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFt
Q29ubmVjdGlvbkJ1ZmZlcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVz
dGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpKU0lQQ1N0cmVhbUNvbm5lY3Rp
b25CdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNs
aWVudENvbm5lY3Rpb246OmNyZWF0ZUpTV3JhcHBlcik6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rl
c3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6d3JhcHBlckNsYXNzKToKKyAg
ICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9u
Ojp1bndyYXApOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNs
aWVudENvbm5lY3Rpb246OnRvV3JhcHBlZCk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdB
UEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChX
ZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6ZmluYWxp
emUpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNsaWVudENv
bm5lY3Rpb246OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdB
UEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RyZWFtQnVmZmVyKToKKyAgICAgICAg
KFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpjcmVh
dGVKU1dyYXBwZXIpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVh
bUNvbm5lY3Rpb25CdWZmZXI6OndyYXBwZXJDbGFzcyk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rl
c3RpbmdBUEk6OkpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6dW53cmFwKToKKyAgICAgICAg
KFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjp0b1dy
YXBwZWQpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNvbm5l
Y3Rpb25CdWZmZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJ
OjpKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXI6OmZpbmFsaXplKToKKyAgICAgICAgKFdlYktp
dDo6SVBDVGVzdGluZ0FQSTo6SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpzdGF0aWNGdW5j
dGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6c3RhdGljRnVu
Y3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6ZW5jb2RlU3RyZWFtQ29u
bmVjdGlvbkJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OmVuY29kZUFy
Z3VtZW50KToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUEM6OmNyZWF0ZVN0
cmVhbUNsaWVudENvbm5lY3Rpb24pOgorCiAyMDIxLTEwLTEzICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgYm90aCBWSyBhbmQgVktDLXBy
ZWZpeGVkIFNQSSB3aGVuIHNvZnRsaW5raW5nIFZpc2lvbktpdENvcmUgY2xhc3NlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAppbmRl
eCA2MDA1NGFhOTNlM2I1YTI3YjdjNThiMjMxYTdkYWFhYmZjMzhiNDQ0Li4yNDk4N2M3ZGQzODNk
Y2RjZWE2Yzk2M2Y0Nzg5ZDg2OTNjNmRmZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcApAQCAtMzYsNiArMzYsOCBAQAogI2lu
Y2x1ZGUgIk1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVh
dGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJTdHJlYW1DbGllbnRDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgpAQCAtOTMsNiArOTUsNjEgQEAgcHJpdmF0ZToKICAgICBJUEM6OlNlbWFwaG9yZSBtX3NlbWFw
aG9yZTsKIH07CiAKK2NsYXNzIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiA6IHB1YmxpYyBS
ZWZDb3VudGVkPEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbj4geworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8SlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uPiBjcmVhdGUoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgYnVmZmVyU2l6ZSkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbihjb25uZWN0aW9uLCBi
dWZmZXJTaXplKSk7CisgICAgfQorCisgICAgSlNPYmplY3RSZWYgY3JlYXRlSlNXcmFwcGVyKEpT
Q29udGV4dFJlZik7CisgICAgc3RhdGljIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiogdG9X
cmFwcGVkKEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZik7CisKKyAgICBJUEM6OlN0cmVhbUNsaWVu
dENvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSB7IHJldHVybiBtX3N0cmVhbUNvbm5lY3Rpb247IH0K
KworcHJpdmF0ZToKKyAgICBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb24oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBzaXplX3QgYnVmZmVyU2l6ZSkKKyAgICAgICAgOiBtX3N0cmVhbUNv
bm5lY3Rpb24geyBjb25uZWN0aW9uLCBidWZmZXJTaXplIH0KKyAgICB7IH0KKworICAgIHN0YXRp
YyBKU0NsYXNzUmVmIHdyYXBwZXJDbGFzcygpOworICAgIHN0YXRpYyBKU0lQQ1N0cmVhbUNsaWVu
dENvbm5lY3Rpb24qIHVud3JhcChKU09iamVjdFJlZik7CisgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmKTsKKyAgICBzdGF0aWMgdm9pZCBmaW5hbGl6
ZShKU09iamVjdFJlZik7CisKKyAgICBzdGF0aWMgY29uc3QgSlNTdGF0aWNGdW5jdGlvbiogc3Rh
dGljRnVuY3Rpb25zKCk7CisgICAgc3RhdGljIEpTVmFsdWVSZWYgc3RyZWFtQnVmZmVyKEpTQ29u
dGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pOworCisgICAgSVBDOjpTdHJlYW1DbGllbnRDb25uZWN0aW9uIG1fc3RyZWFtQ29ubmVj
dGlvbjsKK307CisKK2NsYXNzIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcj4geworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyPiBjcmVhdGUoSlNJUENTdHJlYW1D
bGllbnRDb25uZWN0aW9uJiBzdHJlYW1Db25uZWN0aW9uKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgSlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyKHN0cmVhbUNvbm5lY3Rp
b24pKTsKKyAgICB9CisKKyAgICBKU09iamVjdFJlZiBjcmVhdGVKU1dyYXBwZXIoSlNDb250ZXh0
UmVmKTsKKyAgICBzdGF0aWMgSlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyKiB0b1dyYXBwZWQo
SlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmKTsKKworICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QgeyBtX3N0cmVhbUNvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zdHJl
YW1CdWZmZXIoKS5lbmNvZGUoZW5jb2Rlcik7IH0KKworcHJpdmF0ZToKKyAgICBKU0lQQ1N0cmVh
bUNvbm5lY3Rpb25CdWZmZXIoSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uJiBzdHJlYW1Db25u
ZWN0aW9uKQorICAgICAgICA6IG1fc3RyZWFtQ29ubmVjdGlvbihzdHJlYW1Db25uZWN0aW9uKQor
ICAgIHsgfQorCisgICAgc3RhdGljIEpTQ2xhc3NSZWYgd3JhcHBlckNsYXNzKCk7CisgICAgc3Rh
dGljIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciogdW53cmFwKEpTT2JqZWN0UmVmKTsKKyAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYpOworICAg
IHN0YXRpYyB2b2lkIGZpbmFsaXplKEpTT2JqZWN0UmVmKTsKKworICAgIHN0YXRpYyBjb25zdCBK
U1N0YXRpY0Z1bmN0aW9uKiBzdGF0aWNGdW5jdGlvbnMoKTsKKworICAgIFJlZjxKU0lQQ1N0cmVh
bUNsaWVudENvbm5lY3Rpb24+IG1fc3RyZWFtQ29ubmVjdGlvbjsKK307CisKIGNsYXNzIEpTU2hh
cmVkTWVtb3J5IDogcHVibGljIFJlZkNvdW50ZWQ8SlNTaGFyZWRNZW1vcnk+IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPEpTU2hhcmVkTWVtb3J5PiBjcmVhdGUoc2l6ZV90IHNpemUpCkBAIC0x
ODUsNiArMjQyLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBzZW5kTWVzc2Fn
ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKTsKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBzZW5kU3luY01lc3NhZ2UoSlND
b250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbik7CiAKKyAgICBzdGF0aWMgSlNWYWx1ZVJlZiBjcmVhdGVTdHJlYW1DbGllbnRDb25u
ZWN0aW9uKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pOwogICAgIHN0YXRpYyBKU1ZhbHVlUmVmIGNyZWF0ZVNlbWFwaG9y
ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKTsKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBjcmVhdGVTaGFyZWRNZW1vcnko
SlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbik7CiAKQEAgLTI4MSw2ICszMzksMTMyIEBAIGNvbnN0IEpTU3RhdGljRnVuY3Rp
b24qIEpTSVBDU2VtYXBob3JlOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgIHJldHVybiBmdW5jdGlv
bnM7CiB9CiAKK0pTT2JqZWN0UmVmIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRl
SlNXcmFwcGVyKEpTQ29udGV4dFJlZiBjb250ZXh0KQoreworICAgIGF1dG8qIGdsb2JhbE9iamVj
dCA9IHRvSlMoY29udGV4dCk7CisgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Cisg
ICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
Q0FUQ0hfU0NPUEUodm0pOworICAgIEpTT2JqZWN0UmVmIHdyYXBwZXJPYmplY3QgPSBKU09iamVj
dE1ha2UodG9HbG9iYWxSZWYoZ2xvYmFsT2JqZWN0KSwgd3JhcHBlckNsYXNzKCksIHRoaXMpOwor
ICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgcmV0dXJuIHdyYXBwZXJPYmplY3Q7Cit9
CisKK0pTQ2xhc3NSZWYgSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjp3cmFwcGVyQ2xhc3Mo
KQoreworICAgIHN0YXRpYyBKU0NsYXNzUmVmIGpzQ2xhc3M7CisgICAgaWYgKCFqc0NsYXNzKSB7
CisgICAgICAgIEpTQ2xhc3NEZWZpbml0aW9uIGRlZmluaXRpb24gPSBrSlNDbGFzc0RlZmluaXRp
b25FbXB0eTsKKyAgICAgICAgZGVmaW5pdGlvbi5jbGFzc05hbWUgPSAiU3RyZWFtQ2xpZW50Q29u
bmVjdGlvbiI7CisgICAgICAgIGRlZmluaXRpb24ucGFyZW50Q2xhc3MgPSBudWxscHRyOworICAg
ICAgICBkZWZpbml0aW9uLnN0YXRpY1ZhbHVlcyA9IG51bGxwdHI7CisgICAgICAgIGRlZmluaXRp
b24uc3RhdGljRnVuY3Rpb25zID0gc3RhdGljRnVuY3Rpb25zKCk7CisgICAgICAgIGRlZmluaXRp
b24uaW5pdGlhbGl6ZSA9IGluaXRpYWxpemU7CisgICAgICAgIGRlZmluaXRpb24uZmluYWxpemUg
PSBmaW5hbGl6ZTsKKyAgICAgICAganNDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmRlZmluaXRpb24p
OworICAgIH0KKyAgICByZXR1cm4ganNDbGFzczsKK30KKworaW5saW5lIEpTSVBDU3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbiogSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjp1bndyYXAoSlNPYmpl
Y3RSZWYgb2JqZWN0KQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0lQQ1N0cmVhbUNsaWVu
dENvbm5lY3Rpb24qPihKU09iamVjdEdldFByaXZhdGUob2JqZWN0KSk7Cit9CisKK0pTSVBDU3Ry
ZWFtQ2xpZW50Q29ubmVjdGlvbiogSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjp0b1dyYXBw
ZWQoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYgdmFsdWUpCit7CisgICAgaWYgKCFj
b250ZXh0IHx8ICF2YWx1ZSB8fCAhSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhjb250ZXh0LCB2YWx1
ZSwgd3JhcHBlckNsYXNzKCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4g
dW53cmFwKEpTVmFsdWVUb09iamVjdChjb250ZXh0LCB2YWx1ZSwgbnVsbHB0cikpOworfQorCit2
b2lkIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6aW5pdGlhbGl6ZShKU0NvbnRleHRSZWYs
IEpTT2JqZWN0UmVmIG9iamVjdCkKK3sKKyAgICB1bndyYXAob2JqZWN0KS0+cmVmKCk7Cit9CisK
K3ZvaWQgSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpmaW5hbGl6ZShKU09iamVjdFJlZiBv
YmplY3QpCit7CisgICAgdW53cmFwKG9iamVjdCktPmRlcmVmKCk7Cit9CisKK2NvbnN0IEpTU3Rh
dGljRnVuY3Rpb24qIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RhdGljRnVuY3Rpb25z
KCkKK3sKKyAgICBzdGF0aWMgY29uc3QgSlNTdGF0aWNGdW5jdGlvbiBmdW5jdGlvbnNbXSA9IHsK
KyAgICAgICAgeyAic3RyZWFtQnVmZmVyIiwgc3RyZWFtQnVmZmVyLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCisgICAgICAg
IHsgMCwgMCwgMCB9CisgICAgfTsKKyAgICByZXR1cm4gZnVuY3Rpb25zOworfQorCitKU1ZhbHVl
UmVmIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RyZWFtQnVmZmVyKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKK3sKKyAgICBSZWZQdHIganNTdHJlYW1Db25uZWN0aW9uID0gdG9XcmFwcGVkKGNv
bnRleHQsIHRoaXNPYmplY3QpOworICAgIGlmICghanNTdHJlYW1Db25uZWN0aW9uKSB7CisgICAg
ICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIldyb25nIHR5cGUiX3Mp
OworICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgfQor
CisgICAgcmV0dXJuIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6Y3JlYXRlKCpqc1N0cmVh
bUNvbm5lY3Rpb24pLT5jcmVhdGVKU1dyYXBwZXIoY29udGV4dCk7Cit9CisKK0pTT2JqZWN0UmVm
IEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6Y3JlYXRlSlNXcmFwcGVyKEpTQ29udGV4dFJl
ZiBjb250ZXh0KQoreworICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7Cisg
ICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIg
bG9jayh2bSk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAg
IEpTT2JqZWN0UmVmIHdyYXBwZXJPYmplY3QgPSBKU09iamVjdE1ha2UodG9HbG9iYWxSZWYoZ2xv
YmFsT2JqZWN0KSwgd3JhcHBlckNsYXNzKCksIHRoaXMpOworICAgIHNjb3BlLmNsZWFyRXhjZXB0
aW9uKCk7CisgICAgcmV0dXJuIHdyYXBwZXJPYmplY3Q7Cit9CisKK0pTQ2xhc3NSZWYgSlNJUENT
dHJlYW1Db25uZWN0aW9uQnVmZmVyOjp3cmFwcGVyQ2xhc3MoKQoreworICAgIHN0YXRpYyBKU0Ns
YXNzUmVmIGpzQ2xhc3M7CisgICAgaWYgKCFqc0NsYXNzKSB7CisgICAgICAgIEpTQ2xhc3NEZWZp
bml0aW9uIGRlZmluaXRpb24gPSBrSlNDbGFzc0RlZmluaXRpb25FbXB0eTsKKyAgICAgICAgZGVm
aW5pdGlvbi5jbGFzc05hbWUgPSAiU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciI7CisgICAgICAgIGRl
ZmluaXRpb24ucGFyZW50Q2xhc3MgPSBudWxscHRyOworICAgICAgICBkZWZpbml0aW9uLnN0YXRp
Y1ZhbHVlcyA9IG51bGxwdHI7CisgICAgICAgIGRlZmluaXRpb24uc3RhdGljRnVuY3Rpb25zID0g
c3RhdGljRnVuY3Rpb25zKCk7CisgICAgICAgIGRlZmluaXRpb24uaW5pdGlhbGl6ZSA9IGluaXRp
YWxpemU7CisgICAgICAgIGRlZmluaXRpb24uZmluYWxpemUgPSBmaW5hbGl6ZTsKKyAgICAgICAg
anNDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmRlZmluaXRpb24pOworICAgIH0KKyAgICByZXR1cm4g
anNDbGFzczsKK30KKworaW5saW5lIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciogSlNJUENT
dHJlYW1Db25uZWN0aW9uQnVmZmVyOjp1bndyYXAoSlNPYmplY3RSZWYgb2JqZWN0KQoreworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXIqPihKU09iamVj
dEdldFByaXZhdGUob2JqZWN0KSk7Cit9CisKK0pTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciog
SlNJUENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjp0b1dyYXBwZWQoSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTVmFsdWVSZWYgdmFsdWUpCit7CisgICAgaWYgKCFjb250ZXh0IHx8ICF2YWx1ZSB8fCAh
SlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhjb250ZXh0LCB2YWx1ZSwgd3JhcHBlckNsYXNzKCkpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gdW53cmFwKEpTVmFsdWVUb09iamVj
dChjb250ZXh0LCB2YWx1ZSwgbnVsbHB0cikpOworfQorCit2b2lkIEpTSVBDU3RyZWFtQ29ubmVj
dGlvbkJ1ZmZlcjo6aW5pdGlhbGl6ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmIG9iamVjdCkK
K3sKKyAgICB1bndyYXAob2JqZWN0KS0+cmVmKCk7Cit9CisKK3ZvaWQgSlNJUENTdHJlYW1Db25u
ZWN0aW9uQnVmZmVyOjpmaW5hbGl6ZShKU09iamVjdFJlZiBvYmplY3QpCit7CisgICAgdW53cmFw
KG9iamVjdCktPmRlcmVmKCk7Cit9CisKK2NvbnN0IEpTU3RhdGljRnVuY3Rpb24qIEpTSVBDU3Ry
ZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6c3RhdGljRnVuY3Rpb25zKCkKK3sKKyAgICBzdGF0aWMgY29u
c3QgSlNTdGF0aWNGdW5jdGlvbiBmdW5jdGlvbnNbXSA9IHsKKyAgICAgICAgeyAwLCAwLCAwIH0K
KyAgICB9OworICAgIHJldHVybiBmdW5jdGlvbnM7Cit9CisKIEpTVmFsdWVSZWYgSlNJUENTZW1h
cGhvcmU6OnNpZ25hbChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFy
Z3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgYXV0byogZ2xvYmFsT2Jq
ZWN0ID0gdG9KUyhjb250ZXh0KTsKQEAgLTU3Niw2ICs3NjAsNyBAQCBjb25zdCBKU1N0YXRpY0Z1
bmN0aW9uKiBKU0lQQzo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAiYWRkT3V0Z29pbmdN
ZXNzYWdlTGlzdGVuZXIiLCBhZGRPdXRnb2luZ01lc3NhZ2VMaXN0ZW5lciwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAg
ICAgICB7ICJzZW5kTWVzc2FnZSIsIHNlbmRNZXNzYWdlLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCiAgICAgICAgIHsgInNl
bmRTeW5jTWVzc2FnZSIsIHNlbmRTeW5jTWVzc2FnZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAorICAgICAgICB7ICJjcmVh
dGVTdHJlYW1DbGllbnRDb25uZWN0aW9uIiwgY3JlYXRlU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB9LAogICAgICAgICB7ICJjcmVhdGVTZW1hcGhvcmUiLCBjcmVhdGVTZW1hcGhvcmUsIGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfSwKICAgICAgICAgeyAiY3JlYXRlU2hhcmVkTWVtb3J5IiwgY3JlYXRlU2hhcmVkTWVtb3J5
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CkBAIC04MTIsNiArOTk3LDE2IEBAIHN0YXRp
YyBib29sIGVuY29kZVNoYXJlZE1lbW9yeShJUEM6OkVuY29kZXImIGVuY29kZXIsIEpTQzo6SlNH
bG9iYWxPYmplY3QqIGdsb2JhCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGVu
Y29kZVN0cmVhbUNvbm5lY3Rpb25CdWZmZXIoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlLCBKU0M6OkNh
dGNoU2NvcGUmIHNjb3BlKQoreworICAgIFJlZlB0ciBqc0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZm
ZXIgPSBKU0lQQ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXI6OnRvV3JhcHBlZCh0b1JlZihnbG9iYWxP
YmplY3QpLCB0b1JlZihqc1ZhbHVlKSk7CisgICAgaWYgKCFqc0lQQ1N0cmVhbUNvbm5lY3Rpb25C
dWZmZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGpzSVBDU3RyZWFtQ29ubmVjdGlv
bkJ1ZmZlci0+ZW5jb2RlKGVuY29kZXIpOworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMg
Ym9vbCBlbmNvZGVTZW1hcGhvcmUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlLCBKU0M6OkNhdGNoU2Nv
cGUmIHNjb3BlKQogewogICAgIFJlZlB0ciBqc0lQQ1NlbWFwaG9yZSA9IEpTSVBDU2VtYXBob3Jl
Ojp0b1dyYXBwZWQodG9SZWYoZ2xvYmFsT2JqZWN0KSwgdG9SZWYoanNWYWx1ZSkpOwpAQCAtOTY2
LDYgKzExNjEsMTQgQEAgc3RhdGljIGJvb2wgZW5jb2RlQXJndW1lbnQoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyLCBKU0lQQyYganNJUEMsIEpTQ29udGV4dFJlZiBjb24KICAgICBpZiAoc2NvcGUuZXhj
ZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICh0eXBlID09ICJTdHJl
YW1Db25uZWN0aW9uQnVmZmVyIikgeworICAgICAgICBpZiAoIWVuY29kZVN0cmVhbUNvbm5lY3Rp
b25CdWZmZXIoZW5jb2RlciwgZ2xvYmFsT2JqZWN0LCBqc1ZhbHVlLCBzY29wZSkpIHsKKyAgICAg
ICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIkZhaWxlZCB0byBj
b252ZXJ0IFN0cmVhbUNvbm5lY3Rpb25CdWZmZXIiX3MpOworICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIGlmICh0
eXBlID09ICJTZW1hcGhvcmUiKSB7CiAgICAgICAgIGlmICghZW5jb2RlU2VtYXBob3JlKGVuY29k
ZXIsIGdsb2JhbE9iamVjdCwganNWYWx1ZSwgc2NvcGUpKSB7CiAgICAgICAgICAgICAqZXhjZXB0
aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJGYWlsZWQgdG8gY29udmVydCBTZW1hcGhv
cmUiX3MpOwpAQCAtMTI0NSw2ICsxNDQ4LDM0IEBAIEpTVmFsdWVSZWYgSlNJUEM6OnNlbmRTeW5j
TWVzc2FnZShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmCiAg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQogCitKU1ZhbHVlUmVm
IEpTSVBDOjpjcmVhdGVTdHJlYW1DbGllbnRDb25uZWN0aW9uKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3sKKyAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSB0b0pTKGNvbnRleHQpOworICAgIEpTQzo6SlNM
b2NrSG9sZGVyIGxvY2soZ2xvYmFsT2JqZWN0LT52bSgpKTsKKyAgICBSZWZQdHIganNJUEMgPSB0
b1dyYXBwZWQoY29udGV4dCwgdGhpc09iamVjdCk7CisgICAgaWYgKCFqc0lQQykgeworICAgICAg
ICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsK
KyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgIH0KKwor
ICAgIGlmIChhcmd1bWVudENvdW50IDwgMikgeworICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRl
VHlwZUVycm9yKGNvbnRleHQsICJNdXN0IHNwZWNpZnkgdGhlIHRhcmdldCBwcm9jZXNzIGFuZCBi
dWZmZXIgc2l6ZSBhcyB0aGUgZmlyc3QgdHdvIGFyZ3VtZW50cyJfcyk7CisgICAgICAgIHJldHVy
biBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICB9CisKKyAgICBhdXRvIGNvbm5l
Y3Rpb24gPSBwcm9jZXNzVGFyZ2V0RnJvbUFyZ3VtZW50KGdsb2JhbE9iamVjdCwgYXJndW1lbnRz
WzBdLCBleGNlcHRpb24pOworICAgIGlmICghY29ubmVjdGlvbikKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgYXV0byBidWZmZXJTaXplID0gYXJn
dW1lbnRDb3VudCA/IGNvbnZlcnRUb1VpbnQ2NCh0b0pTKGdsb2JhbE9iamVjdCwgYXJndW1lbnRz
WzFdKSkgOiBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiB7IH07CisgICAgaWYgKCFidWZmZXJTaXpl
KSB7CisgICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIk11c3Qg
c3BlY2lmeSB0aGUgc2l6ZSJfcyk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5l
ZChjb250ZXh0KTsKKyAgICB9CisKKyAgICByZXR1cm4gSlNJUENTdHJlYW1DbGllbnRDb25uZWN0
aW9uOjpjcmVhdGUoKmNvbm5lY3Rpb24sICpidWZmZXJTaXplKS0+Y3JlYXRlSlNXcmFwcGVyKGNv
bnRleHQpOworfQorCiBKU1ZhbHVlUmVmIEpTSVBDOjpjcmVhdGVTZW1hcGhvcmUoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3Qg
YXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQogewogICAgIHJldHVybiBKU0lQQ1NlbWFwaG9yZTo6Y3JlYXRlKCktPmNyZWF0
ZUpTV3JhcHBlcihjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCA4N2FhM2M3ODUyYWUwMDBkMDQyYjgzNzAyMmFhMzQ3ZThmNzRiZWZl
Li42YTA1ZTJiZDBjMzdhYTM1MzczZDZiZWU4NTg0MjE3NDAyODQxZjRjIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MjEtMTAtMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0pTIElQQ10gTWFrZSBpdCBwb3NzaWJsZSB0byBlc3RhYmxpc2ggYSBzdHJlYW0gY29ubmVj
dGlvbiB1c2luZyB0aGUgSlMgSVBDIHRlc3RpbmcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgV2ViS2l0IENoYW5nZUxvZyBmb3IgbW9yZSBk
ZXRhaWxzLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENU
ZXN0aW5nQVBJLm1tOgorCisgICAgICAgIEFkanVzdCB0aGVzZSB0d28gQVBJIHRlc3RzIHNvIHRo
YXQgdGhleSBhY3R1YWxseSBlbmQgdXAgY3JlYXRpbmcgYSBuZXcgcmVtb3RlIHJlbmRlcmluZyBi
YWNrZW5kIGluIHRoZSBHUFUKKyAgICAgICAgcHJvY2VzcywgaW5zdGVhZCBvZiBmYWlsaW5nIHRv
IGRlY29kZSBiZWNhdXNlIHdlJ3JlIG1pc3NpbmcgYSBTdHJlYW1Db25uZWN0aW9uQnVmZmVyLiBU
aGlzIGFsbG93cyB1cyB0byBtYWtlIGl0CisgICAgICAgIHRvIGBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kYCBhbmQgYWN0dWFsbHkgY3JlYXRlIHRoZSBj
b3JyZXNwb25kaW5nIHJlbmRlcmluZyBiYWNrZW5kOworICAgICAgICBob3dldmVyLCB0aGlzIGlz
IHN0aWxsIGluc3VmZmljaWVudCB0byBmaXggdGhlIGZhaWxpbmcgQVBJIHRlc3RzLCBzaW5jZSB0
aGVyZSBpcyBzdGlsbCBubyBtZWNoYW5pc20gdG8gKDEpCisgICAgICAgIHdhaXQgZm9yIGFuZCBy
ZWNlaXZlIHRoZSBzdHJlYW0gd2FrZXVwIHNlbWFwaG9yZSBpbiB0aGUgd2ViIHByb2Nlc3MsIGFu
ZCAoMikgc2VuZCBzdHJlYW0gbWVzc2FnZXMgdXNpbmcgYW4KKyAgICAgICAgaW5zdGFuY2Ugb2Yg
dGhlIHN0cmVhbSBjbGllbnQgY29ubmVjdGlvbi4KKwogMjAyMS0xMC0xMiAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0FwcGxlU2lsaWNvbl0gU3VwcG9y
dCBuYXRpdmUgc2ltdWxhdG9yIHRlc3RpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbQppbmRleCA1YWE5YmI3YjMwYTE3
Y2E2MzIzZWRiNmJkZGVmY2UyYWExODVkODliLi5kOTJjZWMxOGZlMDQ4MDFiYmRkYTU5M2ZlYzI4
N2FkYWRkYjc5NTMyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0lQQ1Rlc3RpbmdBUEkubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9JUENUZXN0aW5nQVBJLm1tCkBAIC0yOTEsMTQgKzI5MSwxOSBAQCBURVNUKElQ
Q1Rlc3RpbmdBUEksIENhblJlY2VpdmVJUENTZW1hcGhvcmUpCiAgICAgW3dlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKICAgICBkb25lID0gZmFsc2U7Ci0gICAgW3dlYlZp
ZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPCFET0NUWVBFIGh0bWw+PHNjcmlwdD4i
Ci0gICAgICAgICJjb25zdCBzZW1hcGhvcmUgPSBJUEMuY3JlYXRlU2VtYXBob3JlKCk7IgotICAg
ICAgICAiSVBDLnNlbmRNZXNzYWdlKCdHUFUnLCAwLCBJUEMubWVzc2FnZXMuR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc19DcmVhdGVSZW5kZXJpbmdCYWNrZW5kLm5hbWUsIgotICAgICAgICAiICAg
IFt7dHlwZTogJ1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMnLCAnaWRl
bnRpZmllcic6IDEyMywgc2VtYXBob3JlLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5
SUQsICdwYWdlSUQnOiBJUEMucGFnZUlEfV0pOyIKKyAgICBhdXRvIGh0bWwgPSBAIjwhRE9DVFlQ
RSBodG1sPiIKKyAgICAgICAgIjxzY3JpcHQ+IgorICAgICAgICAiY29uc3QgYnVmZmVyU2l6ZSA9
IDEgPDwgMTY7IgorICAgICAgICAiY29uc3Qgc3RyZWFtQ29ubmVjdGlvbiA9IElQQy5jcmVhdGVT
dHJlYW1DbGllbnRDb25uZWN0aW9uKCdHUFUnLCBidWZmZXJTaXplKTsiCisgICAgICAgICJJUEMu
c2VuZE1lc3NhZ2UoJ0dQVScsIDAsIElQQy5tZXNzYWdlcy5HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzX0NyZWF0ZVJlbmRlcmluZ0JhY2tlbmQubmFtZSwgWyIKKyAgICAgICAgIiAgICB7IHR5cGU6
ICdSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzJywgJ2lkZW50aWZpZXIn
OiAxMjMsICdwYWdlUHJveHlJRCc6IElQQy53ZWJQYWdlUHJveHlJRCwgJ3BhZ2VJRCc6IElQQy5w
YWdlSUQgfSwiCisgICAgICAgICIgICAgeyB0eXBlOiAnU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcics
IHZhbHVlOiBzdHJlYW1Db25uZWN0aW9uLnN0cmVhbUJ1ZmZlcigpIH0sIgorICAgICAgICAiXSk7
IgogICAgICAgICAiY29uc3QgcmVzdWx0ID0gSVBDLnNlbmRTeW5jTWVzc2FnZSgnR1BVJywgMTIz
LCBJUEMubWVzc2FnZXMuUmVtb3RlUmVuZGVyaW5nQmFja2VuZF9TZW1hcGhvcmVGb3JHZXRQaXhl
bEJ1ZmZlci5uYW1lLCAxMDAsIFtdKTsiCiAgICAgICAgICJzZW1hcGhvcmUuc2lnbmFsKCk7Igog
ICAgICAgICAiYWxlcnQocmVzdWx0LmFyZ3VtZW50cy5sZW5ndGggKyAnOicgKyByZXN1bHQuYXJn
dW1lbnRzWzBdLnR5cGUgKyAnOicgKyByZXN1bHQuYXJndW1lbnRzWzBdLnZhbHVlLndhaXRGb3Io
MTAwKSk7IgotICAgICAgICAiPC9zY3JpcHQ+Il07CisgICAgICAgICI8L3NjcmlwdD4iOworICAg
IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpodG1sXTsKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogCiAgICAgRVhQRUNUX1NUUkVRKFthbGVydE1lc3Nh
Z2UgVVRGOFN0cmluZ10sICIxOlNlbWFwaG9yZTpmYWxzZSIpOwpAQCAtMzExLDEzICszMTYsMTcg
QEAgVEVTVChJUENUZXN0aW5nQVBJLCBDYW5SZWNlaXZlU2hhcmVkTWVtb3J5KQogICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbSVBDVGVzdGluZ0FQSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7
CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKLSAgICBhdXRv
KiBodG1sID0gQFIiSFRNTCg8IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1JUEMuc2VuZE1lc3Nh
Z2UoJ0dQVScsIDAsIElQQy5tZXNzYWdlcy5HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzX0NyZWF0
ZVJlbmRlcmluZ0JhY2tlbmQubmFtZSwKLSAgICBbe3R5cGU6ICdSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kQ3JlYXRpb25QYXJhbWV0ZXJzJywgJ2lkZW50aWZpZXInOiAxMjMsIHNlbWFwaG9yZTogSVBD
LmNyZWF0ZVNlbWFwaG9yZSgpLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdw
YWdlSUQnOiBJUEMucGFnZUlEfV0pOwotY29uc3QgcmVzdWx0ID0gSVBDLnNlbmRTeW5jTWVzc2Fn
ZSgnR1BVJywgMTIzLCBJUEMubWVzc2FnZXMuUmVtb3RlUmVuZGVyaW5nQmFja2VuZF9VcGRhdGVT
aGFyZWRNZW1vcnlGb3JHZXRQaXhlbEJ1ZmZlci5uYW1lLCAxMDAsIFt7dHlwZTogJ3VpbnQzMl90
JywgdmFsdWU6IDh9XSk7Ci1hbGVydChyZXN1bHQuYXJndW1lbnRzLmxlbmd0aCk7Ci08L3Njcmlw
dD4pSFRNTCI7CisgICAgYXV0byBodG1sID0gQCI8IURPQ1RZUEUgaHRtbD4iCisgICAgICAgICI8
c2NyaXB0PiIKKyAgICAgICAgImNvbnN0IGJ1ZmZlclNpemUgPSAxIDw8IDE2OyIKKyAgICAgICAg
ImNvbnN0IHN0cmVhbUNvbm5lY3Rpb24gPSBJUEMuY3JlYXRlU3RyZWFtQ2xpZW50Q29ubmVjdGlv
bignR1BVJywgYnVmZmVyU2l6ZSk7IgorICAgICAgICAiSVBDLnNlbmRNZXNzYWdlKCdHUFUnLCAw
LCBJUEMubWVzc2FnZXMuR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc19DcmVhdGVSZW5kZXJpbmdC
YWNrZW5kLm5hbWUsIFsiCisgICAgICAgICIgICAgeyB0eXBlOiAnUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZENyZWF0aW9uUGFyYW1ldGVycycsICdpZGVudGlmaWVyJzogMTIzLCAncGFnZVByb3h5SUQn
OiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQnOiBJUEMucGFnZUlEIH0sIgorICAgICAgICAi
ICAgIHsgdHlwZTogJ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXInLCB2YWx1ZTogc3RyZWFtQ29ubmVj
dGlvbi5zdHJlYW1CdWZmZXIoKSB9LCIKKyAgICAgICAgIl0pOyIKKyAgICAgICAgImNvbnN0IHJl
c3VsdCA9IElQQy5zZW5kU3luY01lc3NhZ2UoJ0dQVScsIDEyMywgSVBDLm1lc3NhZ2VzLlJlbW90
ZVJlbmRlcmluZ0JhY2tlbmRfVXBkYXRlU2hhcmVkTWVtb3J5Rm9yR2V0UGl4ZWxCdWZmZXIubmFt
ZSwgMTAwLCBbe3R5cGU6ICd1aW50MzJfdCcsIHZhbHVlOiA4fV0pOyIKKyAgICAgICAgImFsZXJ0
KHJlc3VsdC5hcmd1bWVudHMubGVuZ3RoKTsiCisgICAgICAgICI8L3NjcmlwdD4iOwogCiAgICAg
ZG9uZSA9IGZhbHNlOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpo
dG1sXTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>