<?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>245357</bug_id>
          
          <creation_ts>2022-09-19 05:02:09 -0700</creation_ts>
          <short_desc>[IFC][Integration] Inline blocks should be represented by ContainerBox instead of ReplacedBox</short_desc>
          <delta_ts>2022-09-20 03:31:11 -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>Layout and Rendering</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1899448</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-09-19 05:02:09 -0700</bug_when>
    <thetext>Inline block and replaced element are separate concepts though they behave quite similarly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899449</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-09-19 05:02:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/100116780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899450</commentid>
    <comment_count>2</comment_count>
      <attachid>462428</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-09-19 05:16:54 -0700</bug_when>
    <thetext>Created attachment 462428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899458</commentid>
    <comment_count>3</comment_count>
      <attachid>462429</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-09-19 05:42:02 -0700</bug_when>
    <thetext>Created attachment 462429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899763</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-09-20 03:31:10 -0700</bug_when>
    <thetext>Committed 254666@main (85b11ecf4984): &lt;https://commits.webkit.org/254666@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 462429.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462428</attachid>
            <date>2022-09-19 05:16:54 -0700</date>
            <delta_ts>2022-09-19 05:41:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245357-20220919151652.patch</filename>
            <type>text/plain</type>
            <size>23487</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSAzMGJhMTM2YjU5MTAwOWNkNTBhNGNiOTMzNWRlNzE2YTYxNWEzMTI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDE5IFNlcCAyMDIyIDE1OjAyOjU4ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW0lGQ11b
SW50ZWdyYXRpb25dIElubGluZSBibG9ja3Mgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGJ5CiBDb250
YWluZXJCb3ggaW5zdGVhZCBvZiBSZXBsYWNlZEJveAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI0NTM1NyA8cmRhcjovLzEwMDExNjc4MD4KClJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKSW5saW5lIGJsb2NrIGFuZCByZXBsYWNlZCBlbGVtZW50IGFyZSBzZXBh
cmF0ZSBjb25jZXB0cyB0aG91Z2ggdGhleSBiZWhhdmUgcXVpdGUgc2ltaWxhcmx5IGV4dGVybmFs
bHkuIFRoaXMgaXMgbmVlZGVkCnRvIG1ha2UgcHJvZ3Jlc3Mgd2l0aCBpbnRlZ3JhdGlvbi4KCiog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3Ry
dWN0SW5saW5lTGV2ZWxCb3hlcyk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjph
ZGp1c3RJZGVvZ3JhcGhpY0Jhc2VsaW5lSWZBcHBsaWNhYmxlKToKKiBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcDoKKFdlYkNvcmU6
OkxheW91dEludGVncmF0aW9uOjpCb3hUcmVlOjpCb3hUcmVlKToKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpCb3hUcmVlOjpidWlsZFRyZWVGb3JJbmxpbmVDb250ZW50KToKCk1ha2UgTGF5
b3V0OjpDb250YWluZXJCb3ggZm9yIFJlbmRlckJsb2Nrcy4gT25seSBSZW5kZXJSZXBsYWNlZCBn
ZW5lcmF0ZXMgTGF5b3V0OjpSZXBsYWNlZEJveC4KSW4gc29tZSBjYXNlcyB3ZSBjYW4gaGF2ZSBh
IFJlbmRlckJsb2NrIHdpdGggJ2Rpc3BsYXk6aW5saW5lJy4gSUZDIHJlcXVpcmVzIGl0IHRvIGJl
IHRyYW5zbGF0ZWQgdG8gaW5saW5lLWJsb2NrLgoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpCb3hUcmVlOjpidWlsZFRyZWVGb3JGbGV4Q29udGVudCk6CihXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6Qm94VHJlZTo6YXBwZW5kQ2hpbGQpOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OkJveFRyZWU6OnVwZGF0ZVN0eWxlKToKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpC
b3hUcmVlOjpsYXlvdXRCb3hGb3JSZW5kZXJlciBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6Qm94VHJlZTo6bGF5b3V0Qm94Rm9yUmVuZGVyZXIpOgoKVGlnaHRlbiB0eXBpbmcg
YnkgcmV0dXJuaW5nIGEgQ29udGFpbmVyQm94LgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmg6CiogU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWls
ZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHA6CihXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6dXBkYXRlTGF5b3V0Qm94RGltZW5zaW9u
cyk6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29uc3RydWN0Q29u
dGVudCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94Lmg6CihX
ZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbnRlZ3JhdGlvblJvb3QgY29uc3QpOgooV2ViQ29yZTo6
TGF5b3V0OjpCb3g6OmlzSW50ZWdyYXRpb25CbG9ja0NvbnRhaW5lciBjb25zdCk6IERlbGV0ZWQu
CihXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbnRlZ3JhdGlvbklubGluZUJsb2NrIGNvbnN0KTog
RGVsZXRlZC4KClJlbW92ZSB1bm5lZWRlZCBJbnRlZ3JhdGlvbkJsb2NrQ29udGFpbmVyIGFuZCBJ
bnRlZ3JhdGlvbklubGluZUJsb2NrIGNvbmNlcHRzLgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXJCb3guaDoKKFdlYkNvcmU6OkxheW91dDo6Q29udGFp
bmVyQm94OjpzZXRCYXNlbGluZUZvckludGVncmF0aW9uKToKKFdlYkNvcmU6OkxheW91dDo6Q29u
dGFpbmVyQm94OjpiYXNlbGluZUZvckludGVncmF0aW9uIGNvbnN0KToKCk1vdmUgYmFzZWxpbmUg
ZmllbGQgdG8gQ29udGFpbmVyQm94IGFuZCBtYWtlIGl0IGNsZWFyIGl0IGlzIG5lZWRlZCBmb3Ig
aW50ZWdyYXRpb24gb25seS4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0TGluZUJyZWFrQm94LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJyZWFrQm94OjpMaW5l
QnJlYWtCb3gpOgoKTWFrZSBMaW5lQnJlYWtCb3ggYW5kIENvbnRhaW5lckJveC4gVGhpcyB3YXkg
YWxsIGxheW91dCBib3hlcyBhcmUgZWl0aGVyIElubGluZVRleHRCb3hlcyBvciBDb250YWluZXJC
b3hlcy4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFr
Qm94Lmg6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRC
b3guY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6UmVwbGFjZWRCb3gpOgoKTWFr
ZSBSZXBsYWNlZEJveCBhIENvbnRhaW5lckJveC4gVGhpcyBtYWtlcyB0aGluZ3MgZWFzaWVyIGFu
ZCB0aGUgaGllcmFyY2h5IGhhcyBubyBkZWVwZXIgbWVhbmluZyBpbiBhbnkgY2FzZS4KQWxzbyB3
aXRoIHNoYWRvdyB0cmVlcyByZXBsYWNlZCBlbGVtZW50cyBjYW4gaGF2ZSBjaGlsZHJlbi4KCiog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaDoKKFdl
YkNvcmU6OkxheW91dDo6UmVwbGFjZWRCb3g6OnNldEJhc2VsaW5lKTogRGVsZXRlZC4KKFdlYkNv
cmU6OkxheW91dDo6UmVwbGFjZWRCb3g6OmJhc2VsaW5lIGNvbnN0KTogRGVsZXRlZC4KLS0tCiAu
Li4vaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCAgICAgICAgICAgfCAyMiArKysrLS0t
LS0tLQogLi4uL2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAgIHwgMzgg
KysrKysrKysrKystLS0tLS0tLQogLi4uL2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94
VHJlZS5oICAgIHwgIDQgKy0KIC4uLi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWls
ZGVyLmNwcCB8ICAyICstCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5j
cHAgICAgfCAxMCArKy0tLQogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Qm94LmggIHwgIDYgKy0tCiAuLi4vbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94
LmggICAgfCAgNSArKysKIC4uLi9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3gu
Y3BwICB8ICAyICstCiAuLi4vbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFrQm94Lmgg
ICAgfCAgNCArLQogLi4uL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmNwcCAg
IHwgIDIgKy0KIC4uLi9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oICAgICB8
ICA4ICstLS0KIDExIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAppbmRl
eCAyYjU4NzcwMWM3ZDIuLmYwZTU5YTQ2NDNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmVCb3hCdWlsZGVyLmNwcApAQCAtMjgyLDExICsyODIsOSBAQCB2b2lkIExpbmVCb3hC
dWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0
IExpbmVCdWlsZAogICAgICAgICAgICAgYXV0byYgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeSA9IGZv
cm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKICAgICAgICAgICAg
IGF1dG8gbWFyZ2luQm94SGVpZ2h0ID0gaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJnaW5Cb3hI
ZWlnaHQoKTsKICAgICAgICAgICAgIGF1dG8gYXNjZW50ID0gSW5saW5lTGF5b3V0VW5pdCB7IH07
Ci0gICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUoKS5zaG91bGROb3RTeW50aGVzaXplSW5saW5l
QmxvY2tCYXNlbGluZSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gSW50ZWdyYXRpb24gY29kZXBh
dGggY29uc3RydWN0cyByZXBsYWNlZCBib3hlcyBmb3IgaW5saW5lLWJsb2NrIGNvbnRlbnQuCi0g
ICAgICAgICAgICAgICAgQVNTRVJUKGxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpOwotICAgICAg
ICAgICAgICAgIGFzY2VudCA9IGRvd25jYXN0PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLmJhc2Vs
aW5lKCkudmFsdWVfb3IobWFyZ2luQm94SGVpZ2h0KTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAo
bGF5b3V0Qm94LmlzSW5saW5lQmxvY2tCb3goKSkgeworICAgICAgICAgICAgaWYgKGxheW91dFN0
YXRlKCkuc2hvdWxkTm90U3ludGhlc2l6ZUlubGluZUJsb2NrQmFzZWxpbmUoKSkKKyAgICAgICAg
ICAgICAgICBhc2NlbnQgPSBkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkuYmFzZWxp
bmVGb3JJbnRlZ3JhdGlvbigpLnZhbHVlX29yKG1hcmdpbkJveEhlaWdodCk7CisgICAgICAgICAg
ICBlbHNlIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gVGhlIGJhc2VsaW5lIG9mIGFuICdpbmxpbmUtYmxvY2snIGlzIHRoZSBiYXNlbGluZSBv
ZiBpdHMgbGFzdCBsaW5lIGJveCBpbiB0aGUgbm9ybWFsIGZsb3csIHVubGVzcyBpdCBoYXMgZWl0
aGVyIG5vIGluLWZsb3cgbGluZSBib3hlcyBvcgogICAgICAgICAgICAgICAgIC8vIGlmIGl0cyAn
b3ZlcmZsb3cnIHByb3BlcnR5IGhhcyBhIGNvbXB1dGVkIHZhbHVlIG90aGVyIHRoYW4gJ3Zpc2li
bGUnLCBpbiB3aGljaCBjYXNlIHRoZSBiYXNlbGluZSBpcyB0aGUgYm90dG9tIG1hcmdpbiBlZGdl
LgogICAgICAgICAgICAgICAgIGF1dG8gc3ludGhlc2l6ZUJhc2VsaW5lID0gIWxheW91dEJveC5l
c3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkgfHwgIXN0eWxlLmlzT3ZlcmZsb3dW
aXNpYmxlKCk7CkBAIC0yOTgsOSArMjk2LDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3Ry
dWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lQnVpbGQKICAg
ICAgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gbGFzdExpbmUudG9w
KCkgKyBsYXN0TGluZS5iYXNlbGluZSgpOwogICAgICAgICAgICAgICAgICAgICBhc2NlbnQgPSBp
bmxpbmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpICsgaW5saW5lTGV2ZWxCb3hHZW9t
ZXRyeS5ib3JkZXJCZWZvcmUoKSArIGlubGluZUxldmVsQm94R2VvbWV0cnkucGFkZGluZ0JlZm9y
ZSgpLnZhbHVlX29yKDApICsgaW5saW5lQmxvY2tCYXNlbGluZTsKICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpCi0gICAg
ICAgICAgICAgICAgYXNjZW50ID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFz
ZWxpbmUoKS52YWx1ZV9vcihtYXJnaW5Cb3hIZWlnaHQpOwotICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgYXNjZW50ID0gbWFyZ2luQm94SGVpZ2h0
OwogICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gc3RkOjptYXgoMF9sdSwgaW5saW5lTGV2ZWxC
b3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpKTsKICAgICAgICAgICAgIGF1dG8gYXRvbWljSW5saW5l
TGV2ZWxCb3ggPSBJbmxpbmVMZXZlbEJveDo6Y3JlYXRlQXRvbWljSW5saW5lTGV2ZWxCb3gobGF5
b3V0Qm94LCBzdHlsZSwgbG9naWNhbExlZnQsIHsgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5ib3Jk
ZXJCb3hXaWR0aCgpLCBtYXJnaW5Cb3hIZWlnaHQgfSk7CkBAIC0zMTIsNyArMzA4LDcgQEAgdm9p
ZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5l
Qm94LCBjb25zdCBMaW5lQnVpbGQKICAgICAgICAgICAgIGF1dG8mIGxpc3RNYXJrZXJCb3hHZW9t
ZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKICAg
ICAgICAgICAgIGF1dG8gbWFyZ2luQm94SGVpZ2h0ID0gbGlzdE1hcmtlckJveEdlb21ldHJ5Lm1h
cmdpbkJveEhlaWdodCgpOwogICAgICAgICAgICAgLy8gSW50ZWdyYXRpb24gY29kZXBhdGggY29u
c3RydWN0cyBSZXBsYWNlZEJveGVzIGZvciBsaXN0IG1hcmtlcnMuCi0gICAgICAgICAgICBhdXRv
IGJhc2VsaW5lID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFzZWxpbmUoKTsK
KyAgICAgICAgICAgIGF1dG8gYmFzZWxpbmUgPSBkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0
Qm94KS5iYXNlbGluZUZvckludGVncmF0aW9uKCk7CiAgICAgICAgICAgICBhdXRvIGFzY2VudCA9
IGJhc2VsaW5lLnZhbHVlX29yKG1hcmdpbkJveEhlaWdodCk7CiAKICAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0ICs9IHN0ZDo6bWF4KDBfbHUsIGxpc3RNYXJrZXJCb3hHZW9tZXRyeS5tYXJnaW5TdGFy
dCgpKTsKQEAgLTQ2MSwxMiArNDU3LDggQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6YWRqdXN0SWRl
b2dyYXBoaWNCYXNlbGluZUlmQXBwbGljYWJsZShMaW5lQm94JiBsaW5lQm94LCBzaXoKICAgICAg
ICAgICAgICAgICAvLyBJbnRlZ3JhdGlvbiBjb2RlcGF0aCBzZXRzIGlkZW9ncmFwaGljIGJhc2Vs
aW5lIGJ5IGRlZmF1bHQgZm9yIG5vbi1ob3Jpem9udGFsIGNvbnRlbnQuCiAgICAgICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBhdXRvIGlzSW5saW5lQmxv
Y2tXaXRoTm9uU3ludGhldGljQmFzZWxpbmUgPSBsYXlvdXRCb3guaXNJbnRlZ3JhdGlvbklubGlu
ZUJsb2NrKCkgJiYgZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFzZWxpbmUoKS5o
YXNfdmFsdWUoKTsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBXaGlsZSB0aGUgbGF5b3V0Qm94Lmlz
SW50ZWdyYXRpb25JbmxpbmVCbG9jayBjaGVjayBtYXkgc2VlbSByZWR1bmRhbnQgaGVyZSwgaXQn
cyByZWFsbHkganVzdCBiZWNhdXNlIGN1cnJlbnRseQotICAgICAgICAgICAgLy8gdGhlIGludGVn
cmF0aW9uIGNvZGVwYXRoIHR1cm5zIGlubGluZS1ibG9ja3MgaW50byByZXBsYWNlZCB0eXBlIGJv
eGVzLgotICAgICAgICAgICAgYXV0byBpc09ydGhvZ29uYWxCbG9ja0Zvcm1hdHRpbmdSb290ID0g
KGxheW91dEJveC5lc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQoKSB8fCBsYXlvdXRC
b3guaXNJbnRlZ3JhdGlvbklubGluZUJsb2NrKCkpIAotICAgICAgICAgICAgICAgICYmIGxheW91
dEJveC5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7Ci0gICAgICAgICAgICBpZiAo
aXNJbmxpbmVCbG9ja1dpdGhOb25TeW50aGV0aWNCYXNlbGluZSAmJiAhaXNPcnRob2dvbmFsQmxv
Y2tGb3JtYXR0aW5nUm9vdCkKKyAgICAgICAgICAgIGF1dG8gaXNJbmxpbmVCbG9ja1dpdGhOb25T
eW50aGV0aWNCYXNlbGluZSA9IGxheW91dEJveC5pc0lubGluZUJsb2NrQm94KCkgJiYgZG93bmNh
c3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLmJhc2VsaW5lRm9ySW50ZWdyYXRpb24oKS5oYXNf
dmFsdWUoKTsKKyAgICAgICAgICAgIGlmIChpc0lubGluZUJsb2NrV2l0aE5vblN5bnRoZXRpY0Jh
c2VsaW5lICYmICFsYXlvdXRCb3guc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGFkanVzdExheW91
dEJvdW5kc1dpdGhJZGVvZ3JhcGhpY0Jhc2VsaW5lKGlubGluZUxldmVsQm94KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJv
eFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uQm94VHJlZS5jcHAKaW5kZXggZTAwZWY1Y2NiZDhmLi41NDI4YWMwYjI1M2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkJveFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8UmVuZGVyU3R5bGU+IHJvb3RCb3hGaXJzdExpbmVTdHlsZShjb25zdCBSZW5kZXJC
bG9jayYgcm9vCiAKIEJveFRyZWU6OkJveFRyZWUoUmVuZGVyQmxvY2smIHJvb3RSZW5kZXJlcikK
ICAgICA6IG1fcm9vdFJlbmRlcmVyKHJvb3RSZW5kZXJlcikKLSAgICAsIG1fcm9vdChMYXlvdXQ6
OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkludGVn
cmF0aW9uQmxvY2tDb250YWluZXIgfSwgcm9vdEJveFN0eWxlKHJvb3RSZW5kZXJlciksIHJvb3RC
b3hGaXJzdExpbmVTdHlsZShyb290UmVuZGVyZXIpKQorICAgICwgbV9yb290KExheW91dDo6Qm94
OjpFbGVtZW50QXR0cmlidXRlcyB7IExheW91dDo6Qm94OjpFbGVtZW50VHlwZTo6R2VuZXJpY0Vs
ZW1lbnQgfSwgcm9vdEJveFN0eWxlKHJvb3RSZW5kZXJlciksIHJvb3RCb3hGaXJzdExpbmVTdHls
ZShyb290UmVuZGVyZXIpKQogewogICAgIGlmIChyb290UmVuZGVyZXIuaXNBbm9ueW1vdXMoKSkK
ICAgICAgICAgbV9yb290LnNldElzQW5vbnltb3VzKCk7CkBAIC0xNTQsMTQgKzE1NCwyMiBAQCB2
b2lkIEJveFRyZWU6OmJ1aWxkVHJlZUZvcklubGluZUNvbnRlbnQoKQogICAgICAgICAgICAgICAg
ICwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSkpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGlz
PFJlbmRlclJlcGxhY2VkPihjaGlsZFJlbmRlcmVyKSkKLSAgICAgICAgICAgIHJldHVybiBtYWtl
VW5pcXVlPExheW91dDo6UmVwbGFjZWRCb3g+KExheW91dDo6Qm94OjpFbGVtZW50QXR0cmlidXRl
cyB7IGlzPFJlbmRlckltYWdlPihjaGlsZFJlbmRlcmVyKSA/IExheW91dDo6Qm94OjpFbGVtZW50
VHlwZTo6SW1hZ2UgOiBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH0s
IFdURk1vdmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxlKSk7CisgICAgICAgIGlmIChp
czxSZW5kZXJSZXBsYWNlZD4oY2hpbGRSZW5kZXJlcikpIHsKKyAgICAgICAgICAgIGF1dG8gYXR0
cmlidXRlcyA9IExheW91dDo6Qm94OjpFbGVtZW50QXR0cmlidXRlcyB7IGlzPFJlbmRlckltYWdl
PihjaGlsZFJlbmRlcmVyKSA/IExheW91dDo6Qm94OjpFbGVtZW50VHlwZTo6SW1hZ2UgOiBMYXlv
dXQ6OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH07CisgICAgICAgICAgICByZXR1
cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OlJlcGxhY2VkQm94PihhdHRyaWJ1dGVzLCBXVEZNb3ZlKHN0
eWxlKSwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSkpOworICAgICAgICB9CiAKICAgICAgICAgaWYg
KGlzPFJlbmRlckJsb2NrPihjaGlsZFJlbmRlcmVyKSkgewotICAgICAgICAgICAgYXV0byBhdHRy
aWJ1dGVzID0gTGF5b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgTGF5b3V0OjpCb3g6OkVs
ZW1lbnRUeXBlOjpJbnRlZ3JhdGlvbklubGluZUJsb2NrIH07Ci0gICAgICAgICAgICBpZiAoaXM8
UmVuZGVyVGFibGU+KGNoaWxkUmVuZGVyZXIpIHx8IGlzPFJlbmRlckRldGFpbHNNYXJrZXI+KGNo
aWxkUmVuZGVyZXIpIHx8IGlzPFJlbmRlckxpc3RJdGVtPihjaGlsZFJlbmRlcmVyKSkKLSAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGVzID0gTGF5b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsg
TGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmljRWxlbWVudCB9OwotICAgICAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpSZXBsYWNlZEJveD4oYXR0cmlidXRlcywgV1RGTW92
ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpKTsKKyAgICAgICAgICAgIGF1dG8gYWRq
dXN0U3R5bGUgPSBbJl0gKGF1dG8mIHN0eWxlVG9BZGp1c3QpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoc3R5bGVUb0FkanVzdC5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OklubGluZSkKKyAgICAg
ICAgICAgICAgICAgICAgc3R5bGVUb0FkanVzdC5zZXREaXNwbGF5KERpc3BsYXlUeXBlOjpJbmxp
bmVCbG9jayk7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgYWRqdXN0U3R5bGUoc3R5bGUp
OworICAgICAgICAgICAgaWYgKGZpcnN0TGluZVN0eWxlKQorICAgICAgICAgICAgICAgIGFkanVz
dFN0eWxlKCpmaXJzdExpbmVTdHlsZSk7CisKKyAgICAgICAgICAgIGF1dG8gYXR0cmlidXRlcyA9
IExheW91dDo6Qm94OjpFbGVtZW50QXR0cmlidXRlcyB7IExheW91dDo6Qm94OjpFbGVtZW50VHlw
ZTo6R2VuZXJpY0VsZW1lbnQgfTsKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExheW91
dDo6Q29udGFpbmVyQm94PihhdHRyaWJ1dGVzLCBXVEZNb3ZlKHN0eWxlKSwgV1RGTW92ZShmaXJz
dExpbmVTdHlsZSkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGlzPFJlbmRlcklubGluZT4o
Y2hpbGRSZW5kZXJlcikpIHsKQEAgLTIwMiwxNCArMjEwLDE0IEBAIHZvaWQgQm94VHJlZTo6YnVp
bGRUcmVlRm9yRmxleENvbnRlbnQoKQogewogICAgIGZvciAoYXV0byYgZmxleEl0ZW1SZW5kZXJl
ciA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlck9iamVjdD4obV9yb290UmVuZGVyZXIpKSB7CiAgICAg
ICAgIGF1dG8gc3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUoZmxleEl0ZW1SZW5kZXJlci5zdHls
ZSgpKTsKLSAgICAgICAgYXV0byBmbGV4SXRlbSA9IG1ha2VVbmlxdWU8TGF5b3V0OjpDb250YWlu
ZXJCb3g+KExheW91dDo6Qm94OjpFbGVtZW50QXR0cmlidXRlcyB7IExheW91dDo6Qm94OjpFbGVt
ZW50VHlwZTo6SW50ZWdyYXRpb25CbG9ja0NvbnRhaW5lciB9LCBXVEZNb3ZlKHN0eWxlKSk7Cisg
ICAgICAgIGF1dG8gZmxleEl0ZW0gPSBtYWtlVW5pcXVlPExheW91dDo6Q29udGFpbmVyQm94PihM
YXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6
OkdlbmVyaWNFbGVtZW50IH0sIFdURk1vdmUoc3R5bGUpKTsKICAgICAgICAgYXBwZW5kQ2hpbGQo
bWFrZVVuaXF1ZVJlZkZyb21Ob25OdWxsVW5pcXVlUHRyKFdURk1vdmUoZmxleEl0ZW0pKSwgZmxl
eEl0ZW1SZW5kZXJlcik7CiAgICAgfQogfQogCiB2b2lkIEJveFRyZWU6OmFwcGVuZENoaWxkKFVu
aXF1ZVJlZjxMYXlvdXQ6OkJveD4gY2hpbGRCb3gsIFJlbmRlck9iamVjdCYgY2hpbGRSZW5kZXJl
cikKIHsKLSAgICBhdXRvJiBwYXJlbnRCb3ggPSBkb3duY2FzdDxMYXlvdXQ6OkNvbnRhaW5lckJv
eD4obGF5b3V0Qm94Rm9yUmVuZGVyZXIoKmNoaWxkUmVuZGVyZXIucGFyZW50KCkpKTsKKyAgICBh
dXRvJiBwYXJlbnRCb3ggPSBsYXlvdXRCb3hGb3JSZW5kZXJlcigqY2hpbGRSZW5kZXJlci5wYXJl
bnQoKSk7CiAKICAgICBtX2JveGVzLmFwcGVuZCh7IGNoaWxkQm94LmdldCgpLCAmY2hpbGRSZW5k
ZXJlciB9KTsKIApAQCAtMjQzLDExICsyNTEsOSBAQCB2b2lkIEJveFRyZWU6OnVwZGF0ZVN0eWxl
KGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiByZW5kZXJlcikKICAgICBlbHNlCiAgICAgICAg
IGxheW91dEJveC51cGRhdGVTdHlsZShzdHlsZSwgZmlyc3RMaW5lU3R5bGUoKSk7CiAKLSAgICBp
ZiAoaXM8TGF5b3V0OjpDb250YWluZXJCb3g+KGxheW91dEJveCkpIHsKLSAgICAgICAgZm9yIChh
dXRvKiBjaGlsZCA9IGRvd25jYXN0PExheW91dDo6Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLmZp
cnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAg
ICAgICAgIGlmIChjaGlsZC0+aXNJbmxpbmVUZXh0Qm94KCkpCi0gICAgICAgICAgICAgICAgY2hp
bGQtPnVwZGF0ZVN0eWxlKFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNw
bGF5KHN0eWxlLCBEaXNwbGF5VHlwZTo6SW5saW5lKSwgZmlyc3RMaW5lU3R5bGUoKSk7Ci0gICAg
ICAgIH0KKyAgICBmb3IgKGF1dG8qIGNoaWxkID0gbGF5b3V0Qm94LmZpcnN0Q2hpbGQoKTsgY2hp
bGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKGNoaWxkLT5p
c0lubGluZVRleHRCb3goKSkKKyAgICAgICAgICAgIGNoaWxkLT51cGRhdGVTdHlsZShSZW5kZXJT
dHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheShzdHlsZSwgRGlzcGxheVR5cGU6
OklubGluZSksIGZpcnN0TGluZVN0eWxlKCkpOwogICAgIH0KIH0KIApAQCAtMjcyLDEyICsyNzgs
MTIgQEAgY29uc3QgTGF5b3V0OjpCb3gmIEJveFRyZWU6OmxheW91dEJveEZvclJlbmRlcmVyKGNv
bnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIpIGMKICAgICByZXR1cm4gY29uc3RfY2FzdDxCb3hU
cmVlJj4oKnRoaXMpLmxheW91dEJveEZvclJlbmRlcmVyKHJlbmRlcmVyKTsKIH0KIAotY29uc3Qg
TGF5b3V0OjpDb250YWluZXJCb3gmIEJveFRyZWU6OmxheW91dEJveEZvclJlbmRlcmVyKGNvbnN0
IFJlbmRlcklubGluZSYgcmVuZGVyZXIpIGNvbnN0Citjb25zdCBMYXlvdXQ6OkNvbnRhaW5lckJv
eCYgQm94VHJlZTo6bGF5b3V0Qm94Rm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRvd25jYXN0PExheW91dDo6Q29udGFpbmVyQm94
PihsYXlvdXRCb3hGb3JSZW5kZXJlcihzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJPYmplY3QmPihy
ZW5kZXJlcikpKTsKIH0KIAotTGF5b3V0OjpDb250YWluZXJCb3gmIEJveFRyZWU6OmxheW91dEJv
eEZvclJlbmRlcmVyKGNvbnN0IFJlbmRlcklubGluZSYgcmVuZGVyZXIpCitMYXlvdXQ6OkNvbnRh
aW5lckJveCYgQm94VHJlZTo6bGF5b3V0Qm94Rm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIGRvd25jYXN0PExheW91dDo6Q29udGFpbmVyQm94
PihsYXlvdXRCb3hGb3JSZW5kZXJlcihzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJPYmplY3QmPihy
ZW5kZXJlcikpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaAppbmRleCAwZTY1N2UxOTNhOWEu
Ljc4NmE4YWNkYTM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaApAQCAtNTcsOCArNTcsOCBA
QCBwdWJsaWM6CiAgICAgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveEZvclJlbmRlcmVyKGNv
bnN0IFJlbmRlck9iamVjdCYpIGNvbnN0OwogICAgIExheW91dDo6Qm94JiBsYXlvdXRCb3hGb3JS
ZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QmKTsKIAotICAgIGNvbnN0IExheW91dDo6Q29udGFp
bmVyQm94JiBsYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJJbmxpbmUmKSBjb25zdDsK
LSAgICBMYXlvdXQ6OkNvbnRhaW5lckJveCYgbGF5b3V0Qm94Rm9yUmVuZGVyZXIoY29uc3QgUmVu
ZGVySW5saW5lJik7CisgICAgY29uc3QgTGF5b3V0OjpDb250YWluZXJCb3gmIGxheW91dEJveEZv
clJlbmRlcmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmKSBjb25zdDsKKyAgICBMYXlvdXQ6OkNvbnRh
aW5lckJveCYgbGF5b3V0Qm94Rm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxlbWVudCYpOwogCiAg
ICAgY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlckZvckxheW91dEJveChjb25zdCBMYXlvdXQ6
OkJveCYpIGNvbnN0OwogICAgIFJlbmRlck9iamVjdCYgcmVuZGVyZXJGb3JMYXlvdXRCb3goY29u
c3QgTGF5b3V0OjpCb3gmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDJiZTJhMWMwM2Q0Yy4uNTBhZDc3OTM5
MDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5l
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5jcHAKQEAgLTEyMSw3ICsxMjEsNyBAQCB2b2lkIElubGluZUNvbnRlbnRC
dWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGUm
IGlubAogICAgICAgICAgICAgbGluZUlua092ZXJmbG93UmVjdC51bml0ZShib3guaW5rT3ZlcmZs
b3coKSk7CiAKICAgICAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveC5sYXlvdXRCb3goKTsK
LSAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKSB7CisgICAgICAgICAg
ICBpZiAobGF5b3V0Qm94LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgewogICAgICAgICAgICAg
ICAgIC8vIFNpbWlsYXIgdG8gTGVnYWN5SW5saW5lRmxvd0JveDo6YWRkUmVwbGFjZWRDaGlsZE92
ZXJmbG93LgogICAgICAgICAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVy
Qm94PihtX2JveFRyZWUucmVuZGVyZXJGb3JMYXlvdXRCb3gobGF5b3V0Qm94KSk7CiAgICAgICAg
ICAgICAgICAgaWYgKCFyZW5kZXJlci5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
aW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggZmMxZjM1OWFmNmIz
Li4wMzM0NmQ5Yjg1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5jcHAKQEAgLTI3MywxMCArMjczLDggQEAgc3RhdGljIGlubGluZSBMYXlvdXRTaXplIHNj
cm9sbGJhckxvZ2ljYWxTaXplKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpCiB2b2lkIExpbmVM
YXlvdXQ6OnVwZGF0ZUxheW91dEJveERpbWVuc2lvbnMoY29uc3QgUmVuZGVyQm94JiByZXBsYWNl
ZE9ySW5saW5lQmxvY2spCiB7CiAgICAgYXV0byYgbGF5b3V0Qm94ID0gbV9ib3hUcmVlLmxheW91
dEJveEZvclJlbmRlcmVyKHJlcGxhY2VkT3JJbmxpbmVCbG9jayk7Ci0gICAgLy8gSW50ZXJuYWxs
eSBib3RoIHJlcGxhY2VkIGFuZCBpbmxpbmUtYm94IGNvbnRlbnQgdXNlIHJlcGxhY2VkIGJveGVz
LgotICAgIGF1dG8mIHJlcGxhY2VkQm94ID0gZG93bmNhc3Q8TGF5b3V0OjpSZXBsYWNlZEJveD4o
bGF5b3V0Qm94KTsKIAotICAgIGF1dG8mIHJlcGxhY2VkQm94R2VvbWV0cnkgPSBtX2xheW91dFN0
YXRlLmVuc3VyZUdlb21ldHJ5Rm9yQm94KHJlcGxhY2VkQm94KTsKKyAgICBhdXRvJiByZXBsYWNl
ZEJveEdlb21ldHJ5ID0gbV9sYXlvdXRTdGF0ZS5lbnN1cmVHZW9tZXRyeUZvckJveChsYXlvdXRC
b3gpOwogICAgIGF1dG8gc2Nyb2xsYmFyU2l6ZSA9IHNjcm9sbGJhckxvZ2ljYWxTaXplKHJlcGxh
Y2VkT3JJbmxpbmVCbG9jayk7CiAgICAgcmVwbGFjZWRCb3hHZW9tZXRyeS5zZXRIb3Jpem9udGFs
U3BhY2VGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyU2l6ZS53aWR0aCgpKTsKICAgICByZXBsYWNlZEJv
eEdlb21ldHJ5LnNldFZlcnRpY2FsU3BhY2VGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyU2l6ZS5oZWln
aHQoKSk7CkBAIC0zMTcsNyArMzE1LDcgQEAgdm9pZCBMaW5lTGF5b3V0Ojp1cGRhdGVMYXlvdXRC
b3hEaW1lbnNpb25zKGNvbnN0IFJlbmRlckJveCYgcmVwbGFjZWRPcklubGluZUJsb2MKICAgICAg
ICAgICAgIEFTU0VSVCghZG93bmNhc3Q8UmVuZGVyTGlzdE1hcmtlcj4ocmVwbGFjZWRPcklubGlu
ZUJsb2NrKS5pc0ltYWdlKCkpOwogICAgICAgICAgICAgYmFzZWxpbmUgPSByZXBsYWNlZE9ySW5s
aW5lQmxvY2suc3R5bGUoKS5tZXRyaWNzT2ZQcmltYXJ5Rm9udCgpLmFzY2VudCgpOwogICAgICAg
ICB9Ci0gICAgICAgIHJlcGxhY2VkQm94LnNldEJhc2VsaW5lKHJvdW5kVG9JbnQoYmFzZWxpbmUp
KTsKKyAgICAgICAgbGF5b3V0Qm94LnNldEJhc2VsaW5lRm9ySW50ZWdyYXRpb24ocm91bmRUb0lu
dChiYXNlbGluZSkpOwogICAgIH0KIH0KIApAQCAtNDEwLDcgKzQwOCw5IEBAIHZvaWQgTGluZUxh
eW91dDo6Y29uc3RydWN0Q29udGVudCgpCiAgICAgYXV0byYgYm94QW5kUmVuZGVyZXJMaXN0ID0g
bV9ib3hUcmVlLmJveEFuZFJlbmRlcmVyTGlzdCgpOwogICAgIGZvciAoYXV0byYgYm94QW5kUmVu
ZGVyZXIgOiBib3hBbmRSZW5kZXJlckxpc3QpIHsKICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0g
Ym94QW5kUmVuZGVyZXIuYm94LmdldCgpOwotICAgICAgICBpZiAoIWxheW91dEJveC5pc1JlcGxh
Y2VkQm94KCkgJiYgIWxheW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKQorICAgICAgICAK
KyAgICAgICAgYm9vbCBuZWVkc1JlbmRlclRyZWVQb3NpdGlvbmluZyA9IGxheW91dEJveC5pc0F0
b21pY0lubGluZUxldmVsQm94KCkgfHwgbGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkg
fHwgbGF5b3V0Qm94LmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpOworICAgICAgICBpZiAoIW5lZWRz
UmVuZGVyVHJlZVBvc2l0aW9uaW5nKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAg
YXV0byYgcmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJCb3g+KCpib3hBbmRSZW5kZXJlci5yZW5k
ZXJlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCmlu
ZGV4IDc1ZTBjMDUyNzliYy4uNjdlNDg2ZWUzOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaApAQCAtNTAsOCArNTAsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIFRhYmxlQm94LCAvLyBUaGUgdGFibGUgYm94IGlzIGEgYmxvY2stbGV2ZWwgYm94IHRoYXQg
Y29udGFpbnMgdGhlIHRhYmxlJ3MgaW50ZXJuYWwgdGFibGUgYm94ZXMuCiAgICAgICAgIEltYWdl
LAogICAgICAgICBJRnJhbWUsCi0gICAgICAgIEludGVncmF0aW9uQmxvY2tDb250YWluZXIsCi0g
ICAgICAgIEludGVncmF0aW9uSW5saW5lQmxvY2ssIC8vIEludGVncmF0aW9uIHNldHMgdXAgaW5s
aW5lLWJsb2NrIGJveGVzIGFzIHJlcGxhY2VkIGJveGVzLgogICAgICAgICBHZW5lcmljRWxlbWVu
dAogICAgIH07CiAKQEAgLTEzNyw5ICsxMzUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0lGcmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudEF0dHJpYnV0ZXMgJiYgbV9lbGVtZW50QXR0cmli
dXRlcy52YWx1ZSgpLmVsZW1lbnRUeXBlID09IEVsZW1lbnRUeXBlOjpJRnJhbWU7IH0KICAgICBi
b29sIGlzSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRBdHRyaWJ1dGVzICYmIG1fZWxl
bWVudEF0dHJpYnV0ZXMudmFsdWUoKS5lbGVtZW50VHlwZSA9PSBFbGVtZW50VHlwZTo6SW1hZ2U7
IH0KICAgICBib29sIGlzSW50ZXJuYWxSdWJ5Qm94KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
LSAgICBib29sIGlzSW50ZWdyYXRpb25CbG9ja0NvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIG1f
ZWxlbWVudEF0dHJpYnV0ZXMgJiYgbV9lbGVtZW50QXR0cmlidXRlcy52YWx1ZSgpLmVsZW1lbnRU
eXBlID09IEVsZW1lbnRUeXBlOjpJbnRlZ3JhdGlvbkJsb2NrQ29udGFpbmVyOyB9Ci0gICAgYm9v
bCBpc0ludGVncmF0aW9uUm9vdCgpIGNvbnN0IHsgcmV0dXJuIGlzSW50ZWdyYXRpb25CbG9ja0Nv
bnRhaW5lcigpICYmICFtX3BhcmVudDsgfQotICAgIGJvb2wgaXNJbnRlZ3JhdGlvbklubGluZUJs
b2NrKCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50QXR0cmlidXRlcyAmJiBtX2VsZW1lbnRBdHRy
aWJ1dGVzLnZhbHVlKCkuZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkludGVncmF0aW9uSW5s
aW5lQmxvY2s7IH0KKyAgICBib29sIGlzSW50ZWdyYXRpb25Sb290KCkgY29uc3QgeyByZXR1cm4g
IW1fcGFyZW50ICYmICFpc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsgfQogCiAgICAgY29uc3Qg
Q29udGFpbmVyQm94JiBwYXJlbnQoKSBjb25zdCB7IHJldHVybiAqbV9wYXJlbnQ7IH0KICAgICBj
b25zdCBCb3gqIG5leHRTaWJsaW5nKCkgY29uc3QgeyByZXR1cm4gbV9uZXh0U2libGluZy5nZXQo
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Q29udGFpbmVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRD
b250YWluZXJCb3guaAppbmRleCBlMjg5YTUwNTI2Y2UuLjkwZDY4YjM5N2ZkMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94
LmgKQEAgLTU4LDkgKzU4LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGVuZENoaWxkKFVuaXF1
ZVJlZjxCb3g+KTsKICAgICB2b2lkIGRlc3Ryb3lDaGlsZHJlbigpOwogCisgICAgdm9pZCBzZXRC
YXNlbGluZUZvckludGVncmF0aW9uKExheW91dFVuaXQgYmFzZWxpbmUpIHsgbV9iYXNlbGluZUZv
ckludGVncmF0aW9uID0gYmFzZWxpbmU7IH0KKyAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+
IGJhc2VsaW5lRm9ySW50ZWdyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2Jhc2VsaW5lRm9ySW50
ZWdyYXRpb247IH0KKwogcHJpdmF0ZToKICAgICBDaGVja2VkUHRyPEJveD4gbV9maXJzdENoaWxk
OwogICAgIENoZWNrZWRQdHI8Qm94PiBtX2xhc3RDaGlsZDsKKworICAgIHN0ZDo6b3B0aW9uYWw8
TGF5b3V0VW5pdD4gbV9iYXNlbGluZUZvckludGVncmF0aW9uOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFrQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5j
cHAKaW5kZXggNTY4YzBmNGQyNmU2Li4zMmNhNmU2ODA4YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFrQm94LmNwcApAQCAt
MzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChMaW5lQnJlYWtCb3gpOwogCiBMaW5lQnJlYWtCb3g6OkxpbmVCcmVha0JveChib29sIGlz
T3B0aW9uYWwsIFJlbmRlclN0eWxlJiYgc3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHls
ZT4mJiBmaXJzdExpbmVTdHlsZSkKLSAgICA6IEJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBXVEZN
b3ZlKGZpcnN0TGluZVN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3hGbGFnKQorICAgIDogQ29udGFp
bmVyQm94KHsgfSwgV1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpLCBCb3g6
OkxpbmVCcmVha0JveEZsYWcpCiAgICAgLCBtX2lzT3B0aW9uYWwoaXNPcHRpb25hbCkKIHsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVC
cmVha0JveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJy
ZWFrQm94LmgKaW5kZXggOGQ0MGVlNmMzNzk5Li41YTZhZTA0ODgyN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5oCkBA
IC0yNSwxNCArMjUsMTQgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJMYXlvdXRCb3gu
aCIKKyNpbmNsdWRlICJMYXlvdXRDb250YWluZXJCb3guaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIExheW91dCB7CiAKLWNs
YXNzIExpbmVCcmVha0JveCA6IHB1YmxpYyBCb3ggeworY2xhc3MgTGluZUJyZWFrQm94IDogcHVi
bGljIENvbnRhaW5lckJveCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChMaW5lQnJlYWtC
b3gpOwogcHVibGljOgogICAgIExpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJlbmRlclN0
eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9IG51
bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0UmVwbGFjZWRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0UmVwbGFjZWRCb3guY3BwCmluZGV4IDVhZGRkY2ZhNTlmOC4uZGE1YzFlZjA4ZGU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFj
ZWRCb3guY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKFJlcGxhY2VkQm94KTsKIAogUmVwbGFjZWRCb3g6OlJlcGxhY2Vk
Qm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+IGVsZW1lbnRBdHRyaWJ1dGVzLCBS
ZW5kZXJTdHlsZSYmIHN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiYgZmlyc3RM
aW5lU3R5bGUsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+IGJhc2VUeXBlRmxhZ3MpCi0gICAgOiBC
b3goZWxlbWVudEF0dHJpYnV0ZXMsIFdURk1vdmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0
eWxlKSwgYmFzZVR5cGVGbGFncyB8IFJlcGxhY2VkQm94RmxhZykKKyAgICA6IENvbnRhaW5lckJv
eChlbGVtZW50QXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5
bGUpLCBiYXNlVHlwZUZsYWdzIHwgUmVwbGFjZWRCb3hGbGFnKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaAppbmRl
eCAzYzQ3NDE3NDNmZmYuLmE1ZDY3ODYzNjIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5oCkBAIC0yNiw3ICsyNiw3IEBA
CiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCi0jaW5jbHVkZSAiTGF5
b3V0Qm94LmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0U2l6ZS5oIgogI2luY2x1ZGUgIkxheW91dFVuaXQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jLmg+CkBAIC0zNCw3ICszNCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2Ug
TGF5b3V0IHsKIAotY2xhc3MgUmVwbGFjZWRCb3ggOiBwdWJsaWMgQm94IHsKK2NsYXNzIFJlcGxh
Y2VkQm94IDogcHVibGljIENvbnRhaW5lckJveCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChSZXBsYWNlZEJveCk7CiBwdWJsaWM6CiAgICAgUmVwbGFjZWRCb3goc3RkOjpvcHRpb25hbDxF
bGVtZW50QXR0cmlidXRlcz4sIFJlbmRlclN0eWxlJiYsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJT
dHlsZT4mJiBmaXJzdExpbmVTdHlsZSA9IG51bGxwdHIsIE9wdGlvblNldDxCYXNlVHlwZUZsYWc+
ID0geyBSZXBsYWNlZEJveEZsYWcgfSk7CkBAIC01NCwxNSArNTQsMTEgQEAgcHVibGljOgogICAg
IExheW91dFVuaXQgaW50cmluc2ljSGVpZ2h0KCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBpbnRy
aW5zaWNSYXRpbygpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRCYXNlbGluZShMYXlvdXRVbml0IGJh
c2VsaW5lKSB7IG1fYmFzZWxpbmUgPSBiYXNlbGluZTsgfQotICAgIHN0ZDo6b3B0aW9uYWw8TGF5
b3V0VW5pdD4gYmFzZWxpbmUoKSBjb25zdCB7IHJldHVybiBtX2Jhc2VsaW5lOyB9Ci0KIHByaXZh
dGU6CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0OwogCiAgICAgc3RkOjpvcHRpb25h
bDxMYXlvdXRTaXplPiBtX2ludHJpbnNpY1NpemU7CiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRV
bml0PiBtX2ludHJpbnNpY1JhdGlvOwotICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9i
YXNlbGluZTsKICAgICBDYWNoZWRJbWFnZSogbV9jYWNoZWRJbWFnZSB7IG51bGxwdHIgfTsKIH07
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462429</attachid>
            <date>2022-09-19 05:42:02 -0700</date>
            <delta_ts>2022-09-20 03:31:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245357-20220919154201.patch</filename>
            <type>text/plain</type>
            <size>24655</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBmYTU4ODYxY2M2YTcxNTM4NjcwZjMwY2JiZTZjNTkwN2ZiYzA2NGVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDE5IFNlcCAyMDIyIDE1OjAyOjU4ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW0lGQ11b
SW50ZWdyYXRpb25dIElubGluZSBibG9ja3Mgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGJ5CiBDb250
YWluZXJCb3ggaW5zdGVhZCBvZiBSZXBsYWNlZEJveAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI0NTM1NyA8cmRhcjovLzEwMDExNjc4MD4KClJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKSW5saW5lIGJsb2NrIGFuZCByZXBsYWNlZCBlbGVtZW50IGFyZSBzZXBh
cmF0ZSBjb25jZXB0cyB0aG91Z2ggdGhleSBiZWhhdmUgcXVpdGUgc2ltaWxhcmx5IGV4dGVybmFs
bHkuIFRoaXMgaXMgbmVlZGVkCnRvIG1ha2UgcHJvZ3Jlc3Mgd2l0aCBpbnRlZ3JhdGlvbi4KCiog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3Ry
dWN0SW5saW5lTGV2ZWxCb3hlcyk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjph
ZGp1c3RJZGVvZ3JhcGhpY0Jhc2VsaW5lSWZBcHBsaWNhYmxlKToKKiBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcDoKKFdlYkNvcmU6
OkxheW91dEludGVncmF0aW9uOjpCb3hUcmVlOjpCb3hUcmVlKToKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpCb3hUcmVlOjpidWlsZFRyZWVGb3JJbmxpbmVDb250ZW50KToKCk1ha2UgTGF5
b3V0OjpDb250YWluZXJCb3ggZm9yIFJlbmRlckJsb2Nrcy4gT25seSBSZW5kZXJSZXBsYWNlZCBn
ZW5lcmF0ZXMgTGF5b3V0OjpSZXBsYWNlZEJveC4KSW4gc29tZSBjYXNlcyB3ZSBjYW4gaGF2ZSBh
IFJlbmRlckJsb2NrIHdpdGggJ2Rpc3BsYXk6aW5saW5lJy4gSUZDIHJlcXVpcmVzIGl0IHRvIGJl
IHRyYW5zbGF0ZWQgdG8gaW5saW5lLWJsb2NrLgoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9u
OjpCb3hUcmVlOjpidWlsZFRyZWVGb3JGbGV4Q29udGVudCk6CihXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6Qm94VHJlZTo6YXBwZW5kQ2hpbGQpOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OkJveFRyZWU6OnVwZGF0ZVN0eWxlKToKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpC
b3hUcmVlOjpsYXlvdXRCb3hGb3JSZW5kZXJlciBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXRJbnRl
Z3JhdGlvbjo6Qm94VHJlZTo6bGF5b3V0Qm94Rm9yUmVuZGVyZXIpOgoKVGlnaHRlbiB0eXBpbmcg
YnkgcmV0dXJuaW5nIGEgQ29udGFpbmVyQm94LgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmg6CiogU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWls
ZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVzIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHA6CihXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6dXBkYXRlTGF5b3V0Qm94RGltZW5zaW9u
cyk6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29uc3RydWN0Q29u
dGVudCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94Lmg6CihX
ZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbnRlZ3JhdGlvblJvb3QgY29uc3QpOgooV2ViQ29yZTo6
TGF5b3V0OjpCb3g6OmlzSW50ZWdyYXRpb25CbG9ja0NvbnRhaW5lciBjb25zdCk6IERlbGV0ZWQu
CihXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNJbnRlZ3JhdGlvbklubGluZUJsb2NrIGNvbnN0KTog
RGVsZXRlZC4KClJlbW92ZSB1bm5lZWRlZCBJbnRlZ3JhdGlvbkJsb2NrQ29udGFpbmVyIGFuZCBJ
bnRlZ3JhdGlvbklubGluZUJsb2NrIGNvbmNlcHRzLgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXJCb3guaDoKKFdlYkNvcmU6OkxheW91dDo6Q29udGFp
bmVyQm94OjpzZXRCYXNlbGluZUZvckludGVncmF0aW9uKToKKFdlYkNvcmU6OkxheW91dDo6Q29u
dGFpbmVyQm94OjpiYXNlbGluZUZvckludGVncmF0aW9uIGNvbnN0KToKCk1vdmUgYmFzZWxpbmUg
ZmllbGQgdG8gQ29udGFpbmVyQm94IGFuZCBtYWtlIGl0IGNsZWFyIGl0IGlzIG5lZWRlZCBmb3Ig
aW50ZWdyYXRpb24gb25seS4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0TGluZUJyZWFrQm94LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJyZWFrQm94OjpMaW5l
QnJlYWtCb3gpOgoKTWFrZSBMaW5lQnJlYWtCb3ggYW5kIENvbnRhaW5lckJveC4gVGhpcyB3YXkg
YWxsIGxheW91dCBib3hlcyBhcmUgZWl0aGVyIElubGluZVRleHRCb3hlcyBvciBDb250YWluZXJC
b3hlcy4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFr
Qm94Lmg6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRC
b3guY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpSZXBsYWNlZEJveDo6UmVwbGFjZWRCb3gpOgoKTWFr
ZSBSZXBsYWNlZEJveCBhIENvbnRhaW5lckJveC4gVGhpcyBtYWtlcyB0aGluZ3MgZWFzaWVyIGFu
ZCB0aGUgaGllcmFyY2h5IGhhcyBubyBkZWVwZXIgbWVhbmluZyBpbiBhbnkgY2FzZS4KQWxzbyB3
aXRoIHNoYWRvdyB0cmVlcyByZXBsYWNlZCBlbGVtZW50cyBjYW4gaGF2ZSBjaGlsZHJlbi4KCiog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaDoKKFdl
YkNvcmU6OkxheW91dDo6UmVwbGFjZWRCb3g6OnNldEJhc2VsaW5lKTogRGVsZXRlZC4KKFdlYkNv
cmU6OkxheW91dDo6UmVwbGFjZWRCb3g6OmJhc2VsaW5lIGNvbnN0KTogRGVsZXRlZC4KLS0tCiAu
Li4vaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCAgICAgICAgICAgfCA0MSArKysrKysr
Ky0tLS0tLS0tLS0tCiAuLi4vaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNw
cCAgfCAzOCArKysrKysrKystLS0tLS0tLQogLi4uL2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uQm94VHJlZS5oICAgIHwgIDQgKy0KIC4uLi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRl
bnRCdWlsZGVyLmNwcCB8ICAyICstCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5jcHAgICAgfCAxMCArKy0tLQogU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmggIHwgIDYgKy0tCiAuLi4vbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFp
bmVyQm94LmggICAgfCAgNSArKysKIC4uLi9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJl
YWtCb3guY3BwICB8ICAyICstCiAuLi4vbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0TGluZUJyZWFr
Qm94LmggICAgfCAgNCArLQogLi4uL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94
LmNwcCAgIHwgIDIgKy0KIC4uLi9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5o
ICAgICB8ICA4ICstLS0KIDExIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDYzIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNw
cAppbmRleCAyYjU4NzcwMWM3ZDIuLjdjMmZlNTA4NzRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcApAQCAtMjgxLDI3ICsyODEsMjQgQEAgdm9pZCBM
aW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94
LCBjb25zdCBMaW5lQnVpbGQKICAgICAgICAgaWYgKHJ1bi5pc0JveCgpKSB7CiAgICAgICAgICAg
ICBhdXRvJiBpbmxpbmVMZXZlbEJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9t
ZXRyeUZvckJveChsYXlvdXRCb3gpOwogICAgICAgICAgICAgYXV0byBtYXJnaW5Cb3hIZWlnaHQg
PSBpbmxpbmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdpbkJveEhlaWdodCgpOwotICAgICAgICAgICAg
YXV0byBhc2NlbnQgPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKLSAgICAgICAgICAgIGlmIChsYXlv
dXRTdGF0ZSgpLnNob3VsZE5vdFN5bnRoZXNpemVJbmxpbmVCbG9ja0Jhc2VsaW5lKCkpIHsKLSAg
ICAgICAgICAgICAgICAvLyBJbnRlZ3JhdGlvbiBjb2RlcGF0aCBjb25zdHJ1Y3RzIHJlcGxhY2Vk
IGJveGVzIGZvciBpbmxpbmUtYmxvY2sgY29udGVudC4KLSAgICAgICAgICAgICAgICBBU1NFUlQo
bGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSk7Ci0gICAgICAgICAgICAgICAgYXNjZW50ID0gZG93
bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFzZWxpbmUoKS52YWx1ZV9vcihtYXJnaW5C
b3hIZWlnaHQpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9j
a0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIGJhc2VsaW5lIG9mIGFuICdpbmxpbmUt
YmxvY2snIGlzIHRoZSBiYXNlbGluZSBvZiBpdHMgbGFzdCBsaW5lIGJveCBpbiB0aGUgbm9ybWFs
IGZsb3csIHVubGVzcyBpdCBoYXMgZWl0aGVyIG5vIGluLWZsb3cgbGluZSBib3hlcyBvcgotICAg
ICAgICAgICAgICAgIC8vIGlmIGl0cyAnb3ZlcmZsb3cnIHByb3BlcnR5IGhhcyBhIGNvbXB1dGVk
IHZhbHVlIG90aGVyIHRoYW4gJ3Zpc2libGUnLCBpbiB3aGljaCBjYXNlIHRoZSBiYXNlbGluZSBp
cyB0aGUgYm90dG9tIG1hcmdpbiBlZGdlLgotICAgICAgICAgICAgICAgIGF1dG8gc3ludGhlc2l6
ZUJhc2VsaW5lID0gIWxheW91dEJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0
KCkgfHwgIXN0eWxlLmlzT3ZlcmZsb3dWaXNpYmxlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHN5
bnRoZXNpemVCYXNlbGluZSkKLSAgICAgICAgICAgICAgICAgICAgYXNjZW50ID0gbWFyZ2luQm94
SGVpZ2h0OwotICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYXV0byBhc2NlbnQg
PSBbJl0oKSAtPiBJbmxpbmVMYXlvdXRVbml0IHsKKyAgICAgICAgICAgICAgICBpZiAobGF5b3V0
U3RhdGUoKS5zaG91bGROb3RTeW50aGVzaXplSW5saW5lQmxvY2tCYXNlbGluZSgpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpLmJh
c2VsaW5lRm9ySW50ZWdyYXRpb24oKS52YWx1ZV9vcihtYXJnaW5Cb3hIZWlnaHQpOworCisgICAg
ICAgICAgICAgICAgaWYgKGxheW91dEJveC5pc0lubGluZUJsb2NrQm94KCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlIGJhc2VsaW5lIG9mIGFuICdpbmxpbmUtYmxvY2snIGlzIHRoZSBi
YXNlbGluZSBvZiBpdHMgbGFzdCBsaW5lIGJveCBpbiB0aGUgbm9ybWFsIGZsb3csIHVubGVzcyBp
dCBoYXMgZWl0aGVyIG5vIGluLWZsb3cgbGluZSBib3hlcyBvcgorICAgICAgICAgICAgICAgICAg
ICAvLyBpZiBpdHMgJ292ZXJmbG93JyBwcm9wZXJ0eSBoYXMgYSBjb21wdXRlZCB2YWx1ZSBvdGhl
ciB0aGFuICd2aXNpYmxlJywgaW4gd2hpY2ggY2FzZSB0aGUgYmFzZWxpbmUgaXMgdGhlIGJvdHRv
bSBtYXJnaW4gZWRnZS4KKyAgICAgICAgICAgICAgICAgICAgYXV0byBzeW50aGVzaXplQmFzZWxp
bmUgPSAhbGF5b3V0Qm94LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSB8fCAh
c3R5bGUuaXNPdmVyZmxvd1Zpc2libGUoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN5bnRo
ZXNpemVCYXNlbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtYXJnaW5Cb3hI
ZWlnaHQ7CisKICAgICAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gbGF5
b3V0U3RhdGUoKS5mb3JtYXR0aW5nU3RhdGVGb3JJbmxpbmVGb3JtYXR0aW5nQ29udGV4dChkb3du
Y2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkpOwogICAgICAgICAgICAgICAgICAgICBhdXRv
JiBsYXN0TGluZSA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLmxhc3QoKTsKICAgICAgICAgICAg
ICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gbGFzdExpbmUudG9wKCkgKyBsYXN0
TGluZS5iYXNlbGluZSgpOwotICAgICAgICAgICAgICAgICAgICBhc2NlbnQgPSBpbmxpbmVMZXZl
bEJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpICsgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5ib3Jk
ZXJCZWZvcmUoKSArIGlubGluZUxldmVsQm94R2VvbWV0cnkucGFkZGluZ0JlZm9yZSgpLnZhbHVl
X29yKDApICsgaW5saW5lQmxvY2tCYXNlbGluZTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGlubGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgKyBpbmxpbmVMZXZlbEJveEdl
b21ldHJ5LmJvcmRlckJlZm9yZSgpICsgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5wYWRkaW5nQmVm
b3JlKCkudmFsdWVfb3IoMCkgKyBpbmxpbmVCbG9ja0Jhc2VsaW5lOwogICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSkKLSAg
ICAgICAgICAgICAgICBhc2NlbnQgPSBkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0Qm94KS5i
YXNlbGluZSgpLnZhbHVlX29yKG1hcmdpbkJveEhlaWdodCk7Ci0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgYXNjZW50ID0gbWFyZ2luQm94SGVpZ2h0OworICAgICAgICAgICAgICAg
IHJldHVybiBtYXJnaW5Cb3hIZWlnaHQ7CisgICAgICAgICAgICB9KCk7CiAgICAgICAgICAgICBs
b2dpY2FsTGVmdCArPSBzdGQ6Om1heCgwX2x1LCBpbmxpbmVMZXZlbEJveEdlb21ldHJ5Lm1hcmdp
blN0YXJ0KCkpOwogICAgICAgICAgICAgYXV0byBhdG9taWNJbmxpbmVMZXZlbEJveCA9IElubGlu
ZUxldmVsQm94OjpjcmVhdGVBdG9taWNJbmxpbmVMZXZlbEJveChsYXlvdXRCb3gsIHN0eWxlLCBs
b2dpY2FsTGVmdCwgeyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIG1h
cmdpbkJveEhlaWdodCB9KTsKICAgICAgICAgICAgIHNldEJhc2VsaW5lQW5kTGF5b3V0Qm91bmRz
KGF0b21pY0lubGluZUxldmVsQm94LCB7IGFzY2VudCwgbWFyZ2luQm94SGVpZ2h0IC0gYXNjZW50
IH0pOwpAQCAtMzEyLDcgKzMwOSw3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdElu
bGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZUJ1aWxkCiAgICAgICAg
ICAgICBhdXRvJiBsaXN0TWFya2VyQm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdl
b21ldHJ5Rm9yQm94KGxheW91dEJveCk7CiAgICAgICAgICAgICBhdXRvIG1hcmdpbkJveEhlaWdo
dCA9IGxpc3RNYXJrZXJCb3hHZW9tZXRyeS5tYXJnaW5Cb3hIZWlnaHQoKTsKICAgICAgICAgICAg
IC8vIEludGVncmF0aW9uIGNvZGVwYXRoIGNvbnN0cnVjdHMgUmVwbGFjZWRCb3hlcyBmb3IgbGlz
dCBtYXJrZXJzLgotICAgICAgICAgICAgYXV0byBiYXNlbGluZSA9IGRvd25jYXN0PFJlcGxhY2Vk
Qm94PihsYXlvdXRCb3gpLmJhc2VsaW5lKCk7CisgICAgICAgICAgICBhdXRvIGJhc2VsaW5lID0g
ZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFzZWxpbmVGb3JJbnRlZ3JhdGlvbigp
OwogICAgICAgICAgICAgYXV0byBhc2NlbnQgPSBiYXNlbGluZS52YWx1ZV9vcihtYXJnaW5Cb3hI
ZWlnaHQpOwogCiAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBzdGQ6Om1heCgwX2x1LCBsaXN0
TWFya2VyQm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSk7CkBAIC00NjEsMTIgKzQ1OCw4IEBAIHZv
aWQgTGluZUJveEJ1aWxkZXI6OmFkanVzdElkZW9ncmFwaGljQmFzZWxpbmVJZkFwcGxpY2FibGUo
TGluZUJveCYgbGluZUJveCwgc2l6CiAgICAgICAgICAgICAgICAgLy8gSW50ZWdyYXRpb24gY29k
ZXBhdGggc2V0cyBpZGVvZ3JhcGhpYyBiYXNlbGluZSBieSBkZWZhdWx0IGZvciBub24taG9yaXpv
bnRhbCBjb250ZW50LgogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgYXV0byBpc0lubGluZUJsb2NrV2l0aE5vblN5bnRoZXRpY0Jhc2VsaW5lID0g
bGF5b3V0Qm94LmlzSW50ZWdyYXRpb25JbmxpbmVCbG9jaygpICYmIGRvd25jYXN0PFJlcGxhY2Vk
Qm94PihsYXlvdXRCb3gpLmJhc2VsaW5lKCkuaGFzX3ZhbHVlKCk7Ci0gICAgICAgICAgICAvLyBG
SVhNRTogV2hpbGUgdGhlIGxheW91dEJveC5pc0ludGVncmF0aW9uSW5saW5lQmxvY2sgY2hlY2sg
bWF5IHNlZW0gcmVkdW5kYW50IGhlcmUsIGl0J3MgcmVhbGx5IGp1c3QgYmVjYXVzZSBjdXJyZW50
bHkKLSAgICAgICAgICAgIC8vIHRoZSBpbnRlZ3JhdGlvbiBjb2RlcGF0aCB0dXJucyBpbmxpbmUt
YmxvY2tzIGludG8gcmVwbGFjZWQgdHlwZSBib3hlcy4KLSAgICAgICAgICAgIGF1dG8gaXNPcnRo
b2dvbmFsQmxvY2tGb3JtYXR0aW5nUm9vdCA9IChsYXlvdXRCb3guZXN0YWJsaXNoZXNCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0KCkgfHwgbGF5b3V0Qm94LmlzSW50ZWdyYXRpb25JbmxpbmVCbG9jaygp
KSAKLSAgICAgICAgICAgICAgICAmJiBsYXlvdXRCb3guc3R5bGUoKS5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpOwotICAgICAgICAgICAgaWYgKGlzSW5saW5lQmxvY2tXaXRoTm9uU3ludGhldGlj
QmFzZWxpbmUgJiYgIWlzT3J0aG9nb25hbEJsb2NrRm9ybWF0dGluZ1Jvb3QpCisgICAgICAgICAg
ICBhdXRvIGlzSW5saW5lQmxvY2tXaXRoTm9uU3ludGhldGljQmFzZWxpbmUgPSBsYXlvdXRCb3gu
aXNJbmxpbmVCbG9ja0JveCgpICYmIGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94KS5i
YXNlbGluZUZvckludGVncmF0aW9uKCkuaGFzX3ZhbHVlKCk7CisgICAgICAgICAgICBpZiAoaXNJ
bmxpbmVCbG9ja1dpdGhOb25TeW50aGV0aWNCYXNlbGluZSAmJiAhbGF5b3V0Qm94LnN0eWxlKCku
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQogICAgICAgICBhZGp1c3RMYXlvdXRCb3VuZHNXaXRoSWRlb2dyYXBoaWNCYXNlbGlu
ZShpbmxpbmVMZXZlbEJveCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwCmluZGV4IGUwMGVm
NWNjYmQ4Zi4uNTQyOGFjMGIyNTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcApAQCAt
OTEsNyArOTEsNyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiByb290Qm94
Rmlyc3RMaW5lU3R5bGUoY29uc3QgUmVuZGVyQmxvY2smIHJvbwogCiBCb3hUcmVlOjpCb3hUcmVl
KFJlbmRlckJsb2NrJiByb290UmVuZGVyZXIpCiAgICAgOiBtX3Jvb3RSZW5kZXJlcihyb290UmVu
ZGVyZXIpCi0gICAgLCBtX3Jvb3QoTGF5b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgTGF5
b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpJbnRlZ3JhdGlvbkJsb2NrQ29udGFpbmVyIH0sIHJvb3RC
b3hTdHlsZShyb290UmVuZGVyZXIpLCByb290Qm94Rmlyc3RMaW5lU3R5bGUocm9vdFJlbmRlcmVy
KSkKKyAgICAsIG1fcm9vdChMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBMYXlvdXQ6
OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH0sIHJvb3RCb3hTdHlsZShyb290UmVu
ZGVyZXIpLCByb290Qm94Rmlyc3RMaW5lU3R5bGUocm9vdFJlbmRlcmVyKSkKIHsKICAgICBpZiAo
cm9vdFJlbmRlcmVyLmlzQW5vbnltb3VzKCkpCiAgICAgICAgIG1fcm9vdC5zZXRJc0Fub255bW91
cygpOwpAQCAtMTU0LDE0ICsxNTQsMjIgQEAgdm9pZCBCb3hUcmVlOjpidWlsZFRyZWVGb3JJbmxp
bmVDb250ZW50KCkKICAgICAgICAgICAgICAgICAsIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpKTsK
ICAgICAgICAgfQogCi0gICAgICAgIGlmIChpczxSZW5kZXJSZXBsYWNlZD4oY2hpbGRSZW5kZXJl
cikpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OlJlcGxhY2VkQm94PihM
YXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBpczxSZW5kZXJJbWFnZT4oY2hpbGRSZW5k
ZXJlcikgPyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkltYWdlIDogTGF5b3V0OjpCb3g6OkVs
ZW1lbnRUeXBlOjpHZW5lcmljRWxlbWVudCB9LCBXVEZNb3ZlKHN0eWxlKSwgV1RGTW92ZShmaXJz
dExpbmVTdHlsZSkpOworICAgICAgICBpZiAoaXM8UmVuZGVyUmVwbGFjZWQ+KGNoaWxkUmVuZGVy
ZXIpKSB7CisgICAgICAgICAgICBhdXRvIGF0dHJpYnV0ZXMgPSBMYXlvdXQ6OkJveDo6RWxlbWVu
dEF0dHJpYnV0ZXMgeyBpczxSZW5kZXJJbWFnZT4oY2hpbGRSZW5kZXJlcikgPyBMYXlvdXQ6OkJv
eDo6RWxlbWVudFR5cGU6OkltYWdlIDogTGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmlj
RWxlbWVudCB9OworICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGF5b3V0OjpSZXBsYWNl
ZEJveD4oYXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUp
KTsKKyAgICAgICAgfQogCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4oY2hpbGRSZW5kZXJl
cikpIHsKLSAgICAgICAgICAgIGF1dG8gYXR0cmlidXRlcyA9IExheW91dDo6Qm94OjpFbGVtZW50
QXR0cmlidXRlcyB7IExheW91dDo6Qm94OjpFbGVtZW50VHlwZTo6SW50ZWdyYXRpb25JbmxpbmVC
bG9jayB9OwotICAgICAgICAgICAgaWYgKGlzPFJlbmRlclRhYmxlPihjaGlsZFJlbmRlcmVyKSB8
fCBpczxSZW5kZXJEZXRhaWxzTWFya2VyPihjaGlsZFJlbmRlcmVyKSB8fCBpczxSZW5kZXJMaXN0
SXRlbT4oY2hpbGRSZW5kZXJlcikpCi0gICAgICAgICAgICAgICAgYXR0cmlidXRlcyA9IExheW91
dDo6Qm94OjpFbGVtZW50QXR0cmlidXRlcyB7IExheW91dDo6Qm94OjpFbGVtZW50VHlwZTo6R2Vu
ZXJpY0VsZW1lbnQgfTsKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPExheW91dDo6UmVw
bGFjZWRCb3g+KGF0dHJpYnV0ZXMsIFdURk1vdmUoc3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0
eWxlKSk7CisgICAgICAgICAgICBhdXRvIGFkanVzdFN0eWxlID0gWyZdIChhdXRvJiBzdHlsZVRv
QWRqdXN0KSB7CisgICAgICAgICAgICAgICAgaWYgKHN0eWxlVG9BZGp1c3QuZGlzcGxheSgpID09
IERpc3BsYXlUeXBlOjpJbmxpbmUpCisgICAgICAgICAgICAgICAgICAgIHN0eWxlVG9BZGp1c3Qu
c2V0RGlzcGxheShEaXNwbGF5VHlwZTo6SW5saW5lQmxvY2spOworICAgICAgICAgICAgfTsKKyAg
ICAgICAgICAgIGFkanVzdFN0eWxlKHN0eWxlKTsKKyAgICAgICAgICAgIGlmIChmaXJzdExpbmVT
dHlsZSkKKyAgICAgICAgICAgICAgICBhZGp1c3RTdHlsZSgqZmlyc3RMaW5lU3R5bGUpOworCisg
ICAgICAgICAgICBhdXRvIGF0dHJpYnV0ZXMgPSBMYXlvdXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0
ZXMgeyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkdlbmVyaWNFbGVtZW50IH07CisgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuaXF1ZTxMYXlvdXQ6OkNvbnRhaW5lckJveD4oYXR0cmlidXRlcywg
V1RGTW92ZShzdHlsZSksIFdURk1vdmUoZmlyc3RMaW5lU3R5bGUpKTsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmIChpczxSZW5kZXJJbmxpbmU+KGNoaWxkUmVuZGVyZXIpKSB7CkBAIC0yMDIsMTQg
KzIxMCwxNCBAQCB2b2lkIEJveFRyZWU6OmJ1aWxkVHJlZUZvckZsZXhDb250ZW50KCkKIHsKICAg
ICBmb3IgKGF1dG8mIGZsZXhJdGVtUmVuZGVyZXIgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJPYmpl
Y3Q+KG1fcm9vdFJlbmRlcmVyKSkgewogICAgICAgICBhdXRvIHN0eWxlID0gUmVuZGVyU3R5bGU6
OmNsb25lKGZsZXhJdGVtUmVuZGVyZXIuc3R5bGUoKSk7Ci0gICAgICAgIGF1dG8gZmxleEl0ZW0g
PSBtYWtlVW5pcXVlPExheW91dDo6Q29udGFpbmVyQm94PihMYXlvdXQ6OkJveDo6RWxlbWVudEF0
dHJpYnV0ZXMgeyBMYXlvdXQ6OkJveDo6RWxlbWVudFR5cGU6OkludGVncmF0aW9uQmxvY2tDb250
YWluZXIgfSwgV1RGTW92ZShzdHlsZSkpOworICAgICAgICBhdXRvIGZsZXhJdGVtID0gbWFrZVVu
aXF1ZTxMYXlvdXQ6OkNvbnRhaW5lckJveD4oTGF5b3V0OjpCb3g6OkVsZW1lbnRBdHRyaWJ1dGVz
IHsgTGF5b3V0OjpCb3g6OkVsZW1lbnRUeXBlOjpHZW5lcmljRWxlbWVudCB9LCBXVEZNb3ZlKHN0
eWxlKSk7CiAgICAgICAgIGFwcGVuZENoaWxkKG1ha2VVbmlxdWVSZWZGcm9tTm9uTnVsbFVuaXF1
ZVB0cihXVEZNb3ZlKGZsZXhJdGVtKSksIGZsZXhJdGVtUmVuZGVyZXIpOwogICAgIH0KIH0KIAog
dm9pZCBCb3hUcmVlOjphcHBlbmRDaGlsZChVbmlxdWVSZWY8TGF5b3V0OjpCb3g+IGNoaWxkQm94
LCBSZW5kZXJPYmplY3QmIGNoaWxkUmVuZGVyZXIpCiB7Ci0gICAgYXV0byYgcGFyZW50Qm94ID0g
ZG93bmNhc3Q8TGF5b3V0OjpDb250YWluZXJCb3g+KGxheW91dEJveEZvclJlbmRlcmVyKCpjaGls
ZFJlbmRlcmVyLnBhcmVudCgpKSk7CisgICAgYXV0byYgcGFyZW50Qm94ID0gbGF5b3V0Qm94Rm9y
UmVuZGVyZXIoKmNoaWxkUmVuZGVyZXIucGFyZW50KCkpOwogCiAgICAgbV9ib3hlcy5hcHBlbmQo
eyBjaGlsZEJveC5nZXQoKSwgJmNoaWxkUmVuZGVyZXIgfSk7CiAKQEAgLTI0MywxMSArMjUxLDkg
QEAgdm9pZCBCb3hUcmVlOjp1cGRhdGVTdHlsZShjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYg
cmVuZGVyZXIpCiAgICAgZWxzZQogICAgICAgICBsYXlvdXRCb3gudXBkYXRlU3R5bGUoc3R5bGUs
IGZpcnN0TGluZVN0eWxlKCkpOwogCi0gICAgaWYgKGlzPExheW91dDo6Q29udGFpbmVyQm94Pihs
YXlvdXRCb3gpKSB7Ci0gICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBkb3duY2FzdDxMYXlvdXQ6
OkNvbnRhaW5lckJveD4obGF5b3V0Qm94KS5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGQtPmlzSW5saW5lVGV4
dEJveCgpKQotICAgICAgICAgICAgICAgIGNoaWxkLT51cGRhdGVTdHlsZShSZW5kZXJTdHlsZTo6
Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheShzdHlsZSwgRGlzcGxheVR5cGU6OklubGlu
ZSksIGZpcnN0TGluZVN0eWxlKCkpOwotICAgICAgICB9CisgICAgZm9yIChhdXRvKiBjaGlsZCA9
IGxheW91dEJveC5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
ZygpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNJbmxpbmVUZXh0Qm94KCkpCisgICAgICAgICAg
ICBjaGlsZC0+dXBkYXRlU3R5bGUoUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255bW91c1N0eWxlV2l0
aERpc3BsYXkoc3R5bGUsIERpc3BsYXlUeXBlOjpJbmxpbmUpLCBmaXJzdExpbmVTdHlsZSgpKTsK
ICAgICB9CiB9CiAKQEAgLTI3MiwxMiArMjc4LDEyIEBAIGNvbnN0IExheW91dDo6Qm94JiBCb3hU
cmVlOjpsYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyKSBj
CiAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8Qm94VHJlZSY+KCp0aGlzKS5sYXlvdXRCb3hGb3JSZW5k
ZXJlcihyZW5kZXJlcik7CiB9CiAKLWNvbnN0IExheW91dDo6Q29udGFpbmVyQm94JiBCb3hUcmVl
OjpsYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJJbmxpbmUmIHJlbmRlcmVyKSBjb25z
dAorY29uc3QgTGF5b3V0OjpDb250YWluZXJCb3gmIEJveFRyZWU6OmxheW91dEJveEZvclJlbmRl
cmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zdAogewogICAgIHJldHVybiBk
b3duY2FzdDxMYXlvdXQ6OkNvbnRhaW5lckJveD4obGF5b3V0Qm94Rm9yUmVuZGVyZXIoc3RhdGlj
X2Nhc3Q8Y29uc3QgUmVuZGVyT2JqZWN0Jj4ocmVuZGVyZXIpKSk7CiB9CiAKLUxheW91dDo6Q29u
dGFpbmVyQm94JiBCb3hUcmVlOjpsYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJJbmxp
bmUmIHJlbmRlcmVyKQorTGF5b3V0OjpDb250YWluZXJCb3gmIEJveFRyZWU6OmxheW91dEJveEZv
clJlbmRlcmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogewogICAgIHJldHVybiBk
b3duY2FzdDxMYXlvdXQ6OkNvbnRhaW5lckJveD4obGF5b3V0Qm94Rm9yUmVuZGVyZXIoc3RhdGlj
X2Nhc3Q8Y29uc3QgUmVuZGVyT2JqZWN0Jj4ocmVuZGVyZXIpKSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25C
b3hUcmVlLmgKaW5kZXggMGU2NTdlMTkzYTlhLi43ODZhOGFjZGEzNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25Cb3hUcmVlLmgKQEAgLTU3LDggKzU3LDggQEAgcHVibGljOgogICAgIGNvbnN0IExheW91dDo6
Qm94JiBsYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QmKSBjb25zdDsKICAg
ICBMYXlvdXQ6OkJveCYgbGF5b3V0Qm94Rm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2JqZWN0Jik7
CiAKLSAgICBjb25zdCBMYXlvdXQ6OkNvbnRhaW5lckJveCYgbGF5b3V0Qm94Rm9yUmVuZGVyZXIo
Y29uc3QgUmVuZGVySW5saW5lJikgY29uc3Q7Ci0gICAgTGF5b3V0OjpDb250YWluZXJCb3gmIGxh
eW91dEJveEZvclJlbmRlcmVyKGNvbnN0IFJlbmRlcklubGluZSYpOworICAgIGNvbnN0IExheW91
dDo6Q29udGFpbmVyQm94JiBsYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50
JikgY29uc3Q7CisgICAgTGF5b3V0OjpDb250YWluZXJCb3gmIGxheW91dEJveEZvclJlbmRlcmVy
KGNvbnN0IFJlbmRlckVsZW1lbnQmKTsKIAogICAgIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXJGb3JMYXlvdXRCb3goY29uc3QgTGF5b3V0OjpCb3gmKSBjb25zdDsKICAgICBSZW5kZXJPYmpl
Y3QmIHJlbmRlcmVyRm9yTGF5b3V0Qm94KGNvbnN0IExheW91dDo6Qm94Jik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApp
bmRleCAyYmUyYTFjMDNkNGMuLjUwYWQ3NzkzOTA0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRl
bnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5s
aW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0xMjEsNyAr
MTIxLDcgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKExh
eW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlJiBpbmwKICAgICAgICAgICAgIGxpbmVJbmtPdmVy
Zmxvd1JlY3QudW5pdGUoYm94Lmlua092ZXJmbG93KCkpOwogCiAgICAgICAgICAgICBhdXRvJiBs
YXlvdXRCb3ggPSBib3gubGF5b3V0Qm94KCk7Ci0gICAgICAgICAgICBpZiAobGF5b3V0Qm94Lmlz
UmVwbGFjZWRCb3goKSkgeworICAgICAgICAgICAgaWYgKGxheW91dEJveC5pc0F0b21pY0lubGlu
ZUxldmVsQm94KCkpIHsKICAgICAgICAgICAgICAgICAvLyBTaW1pbGFyIHRvIExlZ2FjeUlubGlu
ZUZsb3dCb3g6OmFkZFJlcGxhY2VkQ2hpbGRPdmVyZmxvdy4KICAgICAgICAgICAgICAgICBhdXRv
JiByZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlckJveD4obV9ib3hUcmVlLnJlbmRlcmVyRm9yTGF5
b3V0Qm94KGxheW91dEJveCkpOwogICAgICAgICAgICAgICAgIGlmICghcmVuZGVyZXIuaGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVM
YXlvdXQuY3BwCmluZGV4IGZjMWYzNTlhZjZiMy4uMDMzNDZkOWI4NWE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9u
TGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lu
bGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC0yNzMsMTAgKzI3Myw4IEBA
IHN0YXRpYyBpbmxpbmUgTGF5b3V0U2l6ZSBzY3JvbGxiYXJMb2dpY2FsU2l6ZShjb25zdCBSZW5k
ZXJCb3gmIHJlbmRlcmVyKQogdm9pZCBMaW5lTGF5b3V0Ojp1cGRhdGVMYXlvdXRCb3hEaW1lbnNp
b25zKGNvbnN0IFJlbmRlckJveCYgcmVwbGFjZWRPcklubGluZUJsb2NrKQogewogICAgIGF1dG8m
IGxheW91dEJveCA9IG1fYm94VHJlZS5sYXlvdXRCb3hGb3JSZW5kZXJlcihyZXBsYWNlZE9ySW5s
aW5lQmxvY2spOwotICAgIC8vIEludGVybmFsbHkgYm90aCByZXBsYWNlZCBhbmQgaW5saW5lLWJv
eCBjb250ZW50IHVzZSByZXBsYWNlZCBib3hlcy4KLSAgICBhdXRvJiByZXBsYWNlZEJveCA9IGRv
d25jYXN0PExheW91dDo6UmVwbGFjZWRCb3g+KGxheW91dEJveCk7CiAKLSAgICBhdXRvJiByZXBs
YWNlZEJveEdlb21ldHJ5ID0gbV9sYXlvdXRTdGF0ZS5lbnN1cmVHZW9tZXRyeUZvckJveChyZXBs
YWNlZEJveCk7CisgICAgYXV0byYgcmVwbGFjZWRCb3hHZW9tZXRyeSA9IG1fbGF5b3V0U3RhdGUu
ZW5zdXJlR2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKICAgICBhdXRvIHNjcm9sbGJhclNpemUg
PSBzY3JvbGxiYXJMb2dpY2FsU2l6ZShyZXBsYWNlZE9ySW5saW5lQmxvY2spOwogICAgIHJlcGxh
Y2VkQm94R2VvbWV0cnkuc2V0SG9yaXpvbnRhbFNwYWNlRm9yU2Nyb2xsYmFyKHNjcm9sbGJhclNp
emUud2lkdGgoKSk7CiAgICAgcmVwbGFjZWRCb3hHZW9tZXRyeS5zZXRWZXJ0aWNhbFNwYWNlRm9y
U2Nyb2xsYmFyKHNjcm9sbGJhclNpemUuaGVpZ2h0KCkpOwpAQCAtMzE3LDcgKzMxNSw3IEBAIHZv
aWQgTGluZUxheW91dDo6dXBkYXRlTGF5b3V0Qm94RGltZW5zaW9ucyhjb25zdCBSZW5kZXJCb3gm
IHJlcGxhY2VkT3JJbmxpbmVCbG9jCiAgICAgICAgICAgICBBU1NFUlQoIWRvd25jYXN0PFJlbmRl
ckxpc3RNYXJrZXI+KHJlcGxhY2VkT3JJbmxpbmVCbG9jaykuaXNJbWFnZSgpKTsKICAgICAgICAg
ICAgIGJhc2VsaW5lID0gcmVwbGFjZWRPcklubGluZUJsb2NrLnN0eWxlKCkubWV0cmljc09mUHJp
bWFyeUZvbnQoKS5hc2NlbnQoKTsKICAgICAgICAgfQotICAgICAgICByZXBsYWNlZEJveC5zZXRC
YXNlbGluZShyb3VuZFRvSW50KGJhc2VsaW5lKSk7CisgICAgICAgIGxheW91dEJveC5zZXRCYXNl
bGluZUZvckludGVncmF0aW9uKHJvdW5kVG9JbnQoYmFzZWxpbmUpKTsKICAgICB9CiB9CiAKQEAg
LTQxMCw3ICs0MDgsOSBAQCB2b2lkIExpbmVMYXlvdXQ6OmNvbnN0cnVjdENvbnRlbnQoKQogICAg
IGF1dG8mIGJveEFuZFJlbmRlcmVyTGlzdCA9IG1fYm94VHJlZS5ib3hBbmRSZW5kZXJlckxpc3Qo
KTsKICAgICBmb3IgKGF1dG8mIGJveEFuZFJlbmRlcmVyIDogYm94QW5kUmVuZGVyZXJMaXN0KSB7
CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveEFuZFJlbmRlcmVyLmJveC5nZXQoKTsKLSAg
ICAgICAgaWYgKCFsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgpICYmICFsYXlvdXRCb3guaXNGbG9h
dGluZ1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgCisgICAgICAgIGJvb2wgbmVlZHNSZW5kZXJUcmVl
UG9zaXRpb25pbmcgPSBsYXlvdXRCb3guaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIHx8IGxheW91
dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpIHx8IGxheW91dEJveC5pc091dE9mRmxvd1Bvc2l0
aW9uZWQoKTsKKyAgICAgICAgaWYgKCFuZWVkc1JlbmRlclRyZWVQb3NpdGlvbmluZykKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gZG93bmNhc3Q8UmVu
ZGVyQm94PigqYm94QW5kUmVuZGVyZXIucmVuZGVyZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAppbmRleCA3NWUwYzA1Mjc5YmMuLjY3ZTQ4NmVlMzk2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKQEAg
LTUwLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICBUYWJsZUJveCwgLy8gVGhlIHRhYmxlIGJv
eCBpcyBhIGJsb2NrLWxldmVsIGJveCB0aGF0IGNvbnRhaW5zIHRoZSB0YWJsZSdzIGludGVybmFs
IHRhYmxlIGJveGVzLgogICAgICAgICBJbWFnZSwKICAgICAgICAgSUZyYW1lLAotICAgICAgICBJ
bnRlZ3JhdGlvbkJsb2NrQ29udGFpbmVyLAotICAgICAgICBJbnRlZ3JhdGlvbklubGluZUJsb2Nr
LCAvLyBJbnRlZ3JhdGlvbiBzZXRzIHVwIGlubGluZS1ibG9jayBib3hlcyBhcyByZXBsYWNlZCBi
b3hlcy4KICAgICAgICAgR2VuZXJpY0VsZW1lbnQKICAgICB9OwogCkBAIC0xMzcsOSArMTM1LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNJRnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRB
dHRyaWJ1dGVzICYmIG1fZWxlbWVudEF0dHJpYnV0ZXMudmFsdWUoKS5lbGVtZW50VHlwZSA9PSBF
bGVtZW50VHlwZTo6SUZyYW1lOyB9CiAgICAgYm9vbCBpc0ltYWdlKCkgY29uc3QgeyByZXR1cm4g
bV9lbGVtZW50QXR0cmlidXRlcyAmJiBtX2VsZW1lbnRBdHRyaWJ1dGVzLnZhbHVlKCkuZWxlbWVu
dFR5cGUgPT0gRWxlbWVudFR5cGU6OkltYWdlOyB9CiAgICAgYm9vbCBpc0ludGVybmFsUnVieUJv
eCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgYm9vbCBpc0ludGVncmF0aW9uQmxvY2tD
b250YWluZXIoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRBdHRyaWJ1dGVzICYmIG1fZWxlbWVu
dEF0dHJpYnV0ZXMudmFsdWUoKS5lbGVtZW50VHlwZSA9PSBFbGVtZW50VHlwZTo6SW50ZWdyYXRp
b25CbG9ja0NvbnRhaW5lcjsgfQotICAgIGJvb2wgaXNJbnRlZ3JhdGlvblJvb3QoKSBjb25zdCB7
IHJldHVybiBpc0ludGVncmF0aW9uQmxvY2tDb250YWluZXIoKSAmJiAhbV9wYXJlbnQ7IH0KLSAg
ICBib29sIGlzSW50ZWdyYXRpb25JbmxpbmVCbG9jaygpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVu
dEF0dHJpYnV0ZXMgJiYgbV9lbGVtZW50QXR0cmlidXRlcy52YWx1ZSgpLmVsZW1lbnRUeXBlID09
IEVsZW1lbnRUeXBlOjpJbnRlZ3JhdGlvbklubGluZUJsb2NrOyB9CisgICAgYm9vbCBpc0ludGVn
cmF0aW9uUm9vdCgpIGNvbnN0IHsgcmV0dXJuICFtX3BhcmVudCAmJiAhaXNJbml0aWFsQ29udGFp
bmluZ0Jsb2NrKCk7IH0KIAogICAgIGNvbnN0IENvbnRhaW5lckJveCYgcGFyZW50KCkgY29uc3Qg
eyByZXR1cm4gKm1fcGFyZW50OyB9CiAgICAgY29uc3QgQm94KiBuZXh0U2libGluZygpIGNvbnN0
IHsgcmV0dXJuIG1fbmV4dFNpYmxpbmcuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyQm94LmgKaW5kZXggZTI4OWE1MDUy
NmNlLi45MGQ2OGIzOTdmZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlv
dXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dENvbnRhaW5lckJveC5oCkBAIC01OCw5ICs1OCwxNCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBhcHBlbmRDaGlsZChVbmlxdWVSZWY8Qm94Pik7CiAgICAgdm9pZCBkZXN0cm95
Q2hpbGRyZW4oKTsKIAorICAgIHZvaWQgc2V0QmFzZWxpbmVGb3JJbnRlZ3JhdGlvbihMYXlvdXRV
bml0IGJhc2VsaW5lKSB7IG1fYmFzZWxpbmVGb3JJbnRlZ3JhdGlvbiA9IGJhc2VsaW5lOyB9Cisg
ICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBiYXNlbGluZUZvckludGVncmF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9iYXNlbGluZUZvckludGVncmF0aW9uOyB9CisKIHByaXZhdGU6CiAgICAg
Q2hlY2tlZFB0cjxCb3g+IG1fZmlyc3RDaGlsZDsKICAgICBDaGVja2VkUHRyPEJveD4gbV9sYXN0
Q2hpbGQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IG1fYmFzZWxpbmVGb3JJbnRl
Z3JhdGlvbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlv
dXR0cmVlL0xheW91dExpbmVCcmVha0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guY3BwCmluZGV4IDU2OGMwZjRkMjZlNi4uMzJjYTZl
NjgwOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRMaW5lQnJlYWtCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dExpbmVCcmVha0JveC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIExheW91
dCB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTGluZUJyZWFrQm94KTsKIAogTGluZUJy
ZWFrQm94OjpMaW5lQnJlYWtCb3goYm9vbCBpc09wdGlvbmFsLCBSZW5kZXJTdHlsZSYmIHN0eWxl
LCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiYgZmlyc3RMaW5lU3R5bGUpCi0gICAgOiBC
b3goeyB9LCBXVEZNb3ZlKHN0eWxlKSwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSksIEJveDo6TGlu
ZUJyZWFrQm94RmxhZykKKyAgICA6IENvbnRhaW5lckJveCh7IH0sIFdURk1vdmUoc3R5bGUpLCBX
VEZNb3ZlKGZpcnN0TGluZVN0eWxlKSwgQm94OjpMaW5lQnJlYWtCb3hGbGFnKQogICAgICwgbV9p
c09wdGlvbmFsKGlzT3B0aW9uYWwpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dExpbmVCcmVha0JveC5oCmluZGV4IDhkNDBlZTZjMzc5OS4u
NWE2YWUwNDg4MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRMaW5lQnJlYWtCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRMaW5lQnJlYWtCb3guaApAQCAtMjUsMTQgKzI1LDE0IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaW5jbHVkZSAiTGF5b3V0Qm94LmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVy
Qm94LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSBMYXlvdXQgewogCi1jbGFzcyBMaW5lQnJlYWtCb3ggOiBwdWJsaWMgQm94
IHsKK2NsYXNzIExpbmVCcmVha0JveCA6IHB1YmxpYyBDb250YWluZXJCb3ggewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoTGluZUJyZWFrQm94KTsKIHB1YmxpYzoKICAgICBMaW5lQnJlYWtC
b3goYm9vbCBpc09wdGlvbmFsLCBSZW5kZXJTdHlsZSYmLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVy
U3R5bGU+JiYgZmlyc3RMaW5lU3R5bGUgPSBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmNwcAppbmRleCA1YWRk
ZGNmYTU5ZjguLmRhNWMxZWYwOGRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkQm94LmNwcApAQCAtMzUsNyArMzUsNyBAQCBu
YW1lc3BhY2UgTGF5b3V0IHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZXBsYWNlZEJv
eCk7CiAKIFJlcGxhY2VkQm94OjpSZXBsYWNlZEJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRy
aWJ1dGVzPiBlbGVtZW50QXR0cmlidXRlcywgUmVuZGVyU3R5bGUmJiBzdHlsZSwgc3RkOjp1bmlx
dWVfcHRyPFJlbmRlclN0eWxlPiYmIGZpcnN0TGluZVN0eWxlLCBPcHRpb25TZXQ8QmFzZVR5cGVG
bGFnPiBiYXNlVHlwZUZsYWdzKQotICAgIDogQm94KGVsZW1lbnRBdHRyaWJ1dGVzLCBXVEZNb3Zl
KHN0eWxlKSwgV1RGTW92ZShmaXJzdExpbmVTdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBSZXBsYWNl
ZEJveEZsYWcpCisgICAgOiBDb250YWluZXJCb3goZWxlbWVudEF0dHJpYnV0ZXMsIFdURk1vdmUo
c3R5bGUpLCBXVEZNb3ZlKGZpcnN0TGluZVN0eWxlKSwgYmFzZVR5cGVGbGFncyB8IFJlcGxhY2Vk
Qm94RmxhZykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dFJlcGxhY2VkQm94LmgKaW5kZXggM2M0NzQxNzQzZmZmLi5hNWQ2Nzg2MzYyMTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxh
Y2VkQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVw
bGFjZWRCb3guaApAQCAtMjYsNyArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJD
YWNoZWRJbWFnZS5oIgotI2luY2x1ZGUgIkxheW91dEJveC5oIgorI2luY2x1ZGUgIkxheW91dENv
bnRhaW5lckJveC5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKICNpbmNsdWRlICJMYXlvdXRV
bml0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgpAQCAtMzQsNyArMzQsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLWNsYXNzIFJlcGxhY2VkQm94
IDogcHVibGljIEJveCB7CitjbGFzcyBSZXBsYWNlZEJveCA6IHB1YmxpYyBDb250YWluZXJCb3gg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUmVwbGFjZWRCb3gpOwogcHVibGljOgogICAg
IFJlcGxhY2VkQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHls
ZSYmLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiYgZmlyc3RMaW5lU3R5bGUgPSBudWxs
cHRyLCBPcHRpb25TZXQ8QmFzZVR5cGVGbGFnPiA9IHsgUmVwbGFjZWRCb3hGbGFnIH0pOwpAQCAt
NTQsMTUgKzU0LDExIEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IGludHJpbnNpY0hlaWdodCgp
IGNvbnN0OwogICAgIExheW91dFVuaXQgaW50cmluc2ljUmF0aW8oKSBjb25zdDsKIAotICAgIHZv
aWQgc2V0QmFzZWxpbmUoTGF5b3V0VW5pdCBiYXNlbGluZSkgeyBtX2Jhc2VsaW5lID0gYmFzZWxp
bmU7IH0KLSAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGJhc2VsaW5lKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYXNlbGluZTsgfQotCiBwcml2YXRlOgogICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8o
KSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0U2l6ZT4gbV9pbnRyaW5zaWNTaXpl
OwogICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9pbnRyaW5zaWNSYXRpbzsKLSAgICBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IG1fYmFzZWxpbmU7CiAgICAgQ2FjaGVkSW1hZ2UqIG1f
Y2FjaGVkSW1hZ2UgeyBudWxscHRyIH07CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>