<?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>202284</bug_id>
          
          <creation_ts>2019-09-26 13:54:33 -0700</creation_ts>
          <short_desc>[LFC][IFC] Remove redundant Line::Content</short_desc>
          <delta_ts>2019-09-26 20:23:40 -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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</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>1574616</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-09-26 13:54:33 -0700</bug_when>
    <thetext>Line::Content is really just a list of runs at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574617</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-26 13:54:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/55757187&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574618</commentid>
    <comment_count>2</comment_count>
      <attachid>379677</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-26 13:56:23 -0700</bug_when>
    <thetext>Created attachment 379677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574702</commentid>
    <comment_count>3</comment_count>
      <attachid>379706</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-09-26 19:26:57 -0700</bug_when>
    <thetext>Created attachment 379706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574712</commentid>
    <comment_count>4</comment_count>
      <attachid>379706</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 20:23:39 -0700</bug_when>
    <thetext>Comment on attachment 379706
Patch

Clearing flags on attachment: 379706

Committed r250411: &lt;https://trac.webkit.org/changeset/250411&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574713</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 20:23:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379677</attachid>
            <date>2019-09-26 13:56:23 -0700</date>
            <delta_ts>2019-09-26 19:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202284-20190926135622.patch</filename>
            <type>text/plain</type>
            <size>19729</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY0MTVmMjM2YjgxNjA4
ODMxNGQ2ZmEzZDQzNGZkM2Y0MzQ1OGYyYS4uOWY2N2YxY2Q5N2E4YWRhNjRmYWZmMzNmNWM4ZWNl
YjdmNzc0YzFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE5LTA5LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
cmVkdW5kYW50IExpbmU6OkNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMjI4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTU3NTcxODc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZTo6
Q29udGVudCBpcyByZWFsbHkganVzdCBhIGxpc3Qgb3IgcnVucyBhdCB0aGlzIHBvaW50LgorCisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
aDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dExpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyk6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
UXVpcmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6CisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmU6OlJ1bjo6UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6
TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmlzVmlzdWFsbHlFbXB0eSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmNsb3NlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kTm9uQnJlYWthYmxlU3BhY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVuZE5vblJlcGxhY2VkSW5saW5lQm94KToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kSGFyZExpbmVCcmVhayk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6UnVuKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bGF5b3V0Qm94IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpsb2dpY2FsUmVjdCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6dGV4dENvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpSdW46OnR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46OmlzVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmU6OlJ1bjo6aXNCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lOjpSdW46OmlzTGluZUJyZWFrIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZTo6UnVuOjppc0NvbnRhaW5lclN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6UnVuOjppc0NvbnRhaW5lckVuZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6YWRqdXN0TG9naWNhbFRvcCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bW92ZVZlcnRpY2FsbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46Om1vdmVIb3Jpem9udGFsbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46OnNldFRleHRJc0NvbGxhcHNlZCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6bGF5b3V0Qm94IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjpsb2dpY2Fs
UmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNv
bnRlbnQ6OlJ1bjo6dGV4dENvbnRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OnR5cGUgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OmlzVGV4dCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6
aXNCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpD
b250ZW50OjpSdW46OmlzTGluZUJyZWFrIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjppc0NvbnRhaW5lclN0YXJ0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjpp
c0NvbnRhaW5lckVuZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6YWRqdXN0TG9naWNhbFRvcCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6bW92ZVZlcnRpY2FsbHkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46Om1v
dmVIb3Jpem9udGFsbHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
OjpDb250ZW50OjpSdW46OnNldFRleHRJc0NvbGxhcHNlZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OnJ1bnMgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpydW5zKTogRGVsZXRlZC4KKwog
MjAxOS0wOS0yNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtM
RkNdW0lGQ10gTW92ZSBMaW5lOjpDb250ZW50OjptX2xpbmVCb3ggdG8gTGluZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDIwYTA4OTI4ZjhkZjI3ZDFmMzg4NjNkMDA5MDhm
MmI2ZThmMDVhZDAuLjYwN2IxNmI5ZjgzMmIxMWYxODE3OTUyZTQzZTUwOWU4MjY2ZjgyOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRl
OgogCiAgICAgY2xhc3MgUXVpcmtzIDogcHVibGljIEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3Mg
ewogICAgIHB1YmxpYzoKLSAgICAgICAgYm9vbCBsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhj
b25zdCBMaW5lOjpDb250ZW50JikgY29uc3Q7CisgICAgICAgIGJvb2wgbGluZURlc2NlbnROZWVk
c0NvbGxhcHNpbmcoY29uc3QgTGluZTo6UnVuTGlzdCYpIGNvbnN0OwogICAgICAgICBMaW5lOjpJ
bml0aWFsQ29uc3RyYWludHM6OkhlaWdodEFuZEJhc2VsaW5lIGxpbmVIZWlnaHRDb25zdHJhaW50
cyhjb25zdCBCb3gmIGZvcm1hdHRpbmdSb290KSBjb25zdDsKIAogICAgIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmNwcAppbmRleCA2
NzE4ODBlZmU3MjdkNTU1NmRjMmY0NjU4NTA0OThhZTYyYWI3ZjJhLi42N2UyNWFhNWExYmMyZjU0
MmQzN2ExNWNkNzEyYTk5NmI2NzQzNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgc3RydWN0IExpbmVJ
bnB1dCB7CiBzdHJ1Y3QgTGluZUNvbnRlbnQgewogICAgIE9wdGlvbmFsPEluZGV4QW5kUmFuZ2U+
IGxhc3RDb21taXR0ZWQ7CiAgICAgVmVjdG9yPFdlYWtQdHI8SW5saW5lSXRlbT4+IGZsb2F0czsK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8Y29uc3QgTGluZTo6Q29udGVudD4gcnVuczsKKyAgICBjb25z
dCBMaW5lOjpSdW5MaXN0IHJ1bkxpc3Q7CiAgICAgY29uc3QgTGluZUJveCBsaW5lQm94OwogfTsK
IApAQCAtMzgyLDcgKzM4Miw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGlu
ZUxheW91dDo6Y3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZUNvbnRlbnQmCiAgICAgLy8gQSBs
aW5lIGJveCBpcyBhbHdheXMgdGFsbCBlbm91Z2ggZm9yIGFsbCBvZiB0aGUgYm94ZXMgaXQgY29u
dGFpbnMuCiAKICAgICAvLyBDcmVhdGUgZmluYWwgZGlzcGxheSBydW5zLgotICAgIGF1dG8mIGxp
bmVSdW5zID0gbGluZUNvbnRlbnQucnVucy0+cnVucygpOworICAgIGF1dG8mIGxpbmVSdW5zID0g
bGluZUNvbnRlbnQucnVuTGlzdDsKICAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXgg
PCBsaW5lUnVucy5zaXplKCk7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcnVuID0gbGluZVJ1
bnMuYXQoaW5kZXgpOwogICAgICAgICAvLyBJbmxpbmUgbGV2ZWwgY29udGFpbmVycyAoPHNwYW4+
KSBkb24ndCBnZW5lcmF0ZSBpbmxpbmUgcnVucy4KQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVMYXlvdXQ6OmNyZWF0ZURpc3BsYXlSdW5zKGNv
bnN0IExpbmVDb250ZW50JgogICAgICAgICAgICAgaWYgKHRleHRDb250ZXh0LT5pc0NvbGxhcHNl
ZCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIC8vIFRyeSB0byBqb2lu
IG11bHRpcGxlIHRleHQgcnVucyB3aGVuIHBvc3NpYmxlLgotICAgICAgICAgICAgY29uc3QgTGlu
ZTo6Q29udGVudDo6UnVuKiBwcmV2aW91c1J1biA9ICFpbmRleCA/IG51bGxwdHIgOiBsaW5lUnVu
c1tpbmRleCAtIDFdLmdldCgpOworICAgICAgICAgICAgY29uc3QgTGluZTo6UnVuKiBwcmV2aW91
c1J1biA9ICFpbmRleCA/IG51bGxwdHIgOiBsaW5lUnVuc1tpbmRleCAtIDFdLmdldCgpOwogICAg
ICAgICAgICAgYXV0byBwcmV2aW91c1J1bkNhbkJlRXh0ZW5kZWQgPSBwcmV2aW91c1J1biAmJiBw
cmV2aW91c1J1bi0+dGV4dENvbnRleHQoKSA/IHByZXZpb3VzUnVuLT50ZXh0Q29udGV4dCgpLT5j
YW5CZUV4dGVuZGVkIDogZmFsc2U7CiAgICAgICAgICAgICBhdXRvIGN1cnJlbnRSdW5DYW5CZU1l
cmdlZFdpdGhQcmV2aW91cyA9ICFwcmV2aW91c1J1biB8fCAmcnVuLT5sYXlvdXRCb3goKSA9PSAm
cHJldmlvdXNSdW4tPmxheW91dEJveCgpOwogCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyhjb25z
dCBMaW5lQ29udGVudCYKICAgICAgICAgLy8gVGV4dCBjb250ZW50LiBUcnkgdG8gam9pbiBtdWx0
aXBsZSB0ZXh0IHJ1bnMgd2hlbiBwb3NzaWJsZS4KICAgICAgICAgaWYgKGxpbmVSdW4tPmlzVGV4
dCgpKSB7CiAgICAgICAgICAgICBhdXRvIHRleHRDb250ZXh0ID0gbGluZVJ1bi0+dGV4dENvbnRl
eHQoKTsKLSAgICAgICAgICAgIGNvbnN0IExpbmU6OkNvbnRlbnQ6OlJ1biogcHJldmlvdXNMaW5l
UnVuID0gIWluZGV4ID8gbnVsbHB0ciA6IGxpbmVSdW5zW2luZGV4IC0gMV0uZ2V0KCk7CisgICAg
ICAgICAgICBjb25zdCBMaW5lOjpSdW4qIHByZXZpb3VzTGluZVJ1biA9ICFpbmRleCA/IG51bGxw
dHIgOiBsaW5lUnVuc1tpbmRleCAtIDFdLmdldCgpOwogICAgICAgICAgICAgLy8gRklYTUUgdGFr
ZSBjb250ZW50IGJyZWFraW5nIGludG8gYWNjb3VudCB3aGVuIHBhcnQgb2YgdGhlIGxheW91dCBi
b3ggaXMgb24gdGhlIHByZXZpb3VzIGxpbmUuCiAgICAgICAgICAgICBhdXRvIGZpcnN0SW5saW5l
UnVuRm9yTGF5b3V0Qm94ID0gIXByZXZpb3VzTGluZVJ1biB8fCAmcHJldmlvdXNMaW5lUnVuLT5s
YXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94OwogICAgICAgICAgICAgaWYgKGZpcnN0SW5saW5lUnVu
Rm9yTGF5b3V0Qm94KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJr
cy5jcHAKaW5kZXggZGZjYzYyNmEzMDkxNjhmNDNjMWYwZTM4MjhkMjc5YjBiYmYwNzUzNi4uNzc5
YmEyNzlhMjA1MTkyNTUxYjIxY2M0MjdhZGNlNTU3NzRmMmE2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRR
dWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLWJvb2wgSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OlF1aXJrczo6bGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3QgTGluZTo6
Q29udGVudCYgbGluZUNvbnRlbnQpIGNvbnN0Citib29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nKGNvbnN0IExpbmU6OlJ1bkxpc3Qm
IHJ1bkxpc3QpIGNvbnN0CiB7CiAgICAgLy8gQ29sbGFwc2UgbGluZSBkZXNjZW50IGluIGxpbWl0
ZWQgYW5kIGZ1bGwgcXVpcmsgbW9kZSB3aGVuIHRoZXJlJ3Mgbm8gYmFzZWxpbmUgYWxpZ25lZCBj
b250ZW50IG9yCiAgICAgLy8gdGhlIGJhc2VsaW5lIGFsaWduZWQgY29udGVudCBoYXMgbm8gZGVz
Y2VudC4KQEAgLTQ0LDcgKzQ0LDcgQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVp
cmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhjb25zdCBMaW5lOjpDb24KICAgICBpZiAo
IWxheW91dFN0YXRlLmluUXVpcmtzTW9kZSgpICYmICFsYXlvdXRTdGF0ZS5pbkxpbWl0ZWRRdWly
a3NNb2RlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGZvciAoYXV0byYgcnVuIDog
bGluZUNvbnRlbnQucnVucygpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBydW5MaXN0KSB7CiAg
ICAgICAgIGF1dG8mIGxheW91dEJveCA9IHJ1bi0+bGF5b3V0Qm94KCk7CiAgICAgICAgIGlmIChs
YXlvdXRCb3guc3R5bGUoKS52ZXJ0aWNhbEFsaWduKCkgIT0gVmVydGljYWxBbGlnbjo6QmFzZWxp
bmUpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHAKaW5kZXggODNlNWNhMzlhYTA3Nzhm
YTkxNTYyYTFkMzRlNDJkMTIxZGE0YjgxYS4uYTAxMGU5MTFiYWM1Y2EwZjk4OWI3ZTRjN2NhMmNj
MTNjMDVjZmEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZS5jcHAKQEAgLTM3LDE0ICszNywxNCBAQCBuYW1lc3BhY2UgTGF5
b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKExpbmUpOwogCi1MaW5lOjpDb250
ZW50OjpSdW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBEaXNwbGF5
OjpSZWN0JiBsb2dpY2FsUmVjdCkKK0xpbmU6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlu
bGluZUl0ZW0sIGNvbnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogICAgIDogbV9sYXlv
dXRCb3goaW5saW5lSXRlbS5sYXlvdXRCb3goKSkKICAgICAsIG1fdHlwZShpbmxpbmVJdGVtLnR5
cGUoKSkKICAgICAsIG1fbG9naWNhbFJlY3QobG9naWNhbFJlY3QpCiB7CiB9CiAKLUxpbmU6OkNv
bnRlbnQ6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IFRleHRD
b250ZXh0JiB0ZXh0Q29udGV4dCwgY29uc3QgRGlzcGxheTo6UmVjdCYgbG9naWNhbFJlY3QpCitM
aW5lOjpSdW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBUZXh0Q29u
dGV4dCYgdGV4dENvbnRleHQsIGNvbnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogICAg
IDogbV9sYXlvdXRCb3goaW5saW5lSXRlbS5sYXlvdXRCb3goKSkKICAgICAsIG1fdHlwZShpbmxp
bmVJdGVtLnR5cGUoKSkKICAgICAsIG1fbG9naWNhbFJlY3QobG9naWNhbFJlY3QpCkBAIC01NCw3
ICs1NCw2IEBAIExpbmU6OkNvbnRlbnQ6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGlu
ZUl0ZW0sIGNvbnN0IFRleHRDb250ZXh0JiB0ZXh0Q29uCiAKIExpbmU6OkxpbmUoY29uc3QgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBJbml0
aWFsQ29uc3RyYWludHMmIGluaXRpYWxDb25zdHJhaW50cywgU2tpcFZlcnRpY2FsQWxpZ21lbnQg
c2tpcFZlcnRpY2FsQWxpZ21lbnQpCiAgICAgOiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0KGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0KQotICAgICwgbV9jb250ZW50KG1ha2VVbmlxdWU8TGluZTo6
Q29udGVudD4oKSkKICAgICAsIG1faW5pdGlhbFN0cnV0KGluaXRpYWxDb25zdHJhaW50cy5oZWln
aHRBbmRCYXNlbGluZS5zdHJ1dCkKICAgICAsIG1fbGluZUxvZ2ljYWxXaWR0aChpbml0aWFsQ29u
c3RyYWludHMuYXZhaWxhYmxlTG9naWNhbFdpZHRoKQogICAgICwgbV9za2lwVmVydGljYWxBbGln
bWVudChza2lwVmVydGljYWxBbGlnbWVudCA9PSBTa2lwVmVydGljYWxBbGlnbWVudDo6WWVzKQpA
QCAtNzYsNyArNzUsNyBAQCBib29sIExpbmU6OmlzVmlzdWFsbHlFbXB0eSgpIGNvbnN0CiAgICAg
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGNhY2hlZCBpbnN0ZWFkIC1hcyB0aGUgaW5saW5lIGl0
ZW1zIGFyZSBiZWluZyBhZGRlZC4KICAgICAvLyBSZXR1cm4gdHJ1ZSBmb3IgZW1wdHkgaW5saW5l
IGNvbnRhaW5lcnMgbGlrZSA8c3Bhbj48L3NwYW4+LgogICAgIGF1dG8mIGZvcm1hdHRpbmdDb250
ZXh0ID0gdGhpcy0+Zm9ybWF0dGluZ0NvbnRleHQoKTsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IG1f
Y29udGVudC0+cnVucygpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBtX3J1bkxpc3QpIHsKICAg
ICAgICAgaWYgKHJ1bi0+aXNDb250YWluZXJTdGFydCgpKSB7CiAgICAgICAgICAgICBpZiAoIWlz
SW5saW5lQ29udGFpbmVyQ29uc2lkZXJlZEVtcHR5KGZvcm1hdHRpbmdDb250ZXh0LCBydW4tPmxh
eW91dEJveCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05OSw3ICs5OCw3
IEBAIGJvb2wgTGluZTo6aXNWaXN1YWxseUVtcHR5KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotc3RkOjp1bmlxdWVfcHRyPExpbmU6OkNvbnRlbnQ+IExpbmU6OmNsb3NlKCkKK0xpbmU6
OlJ1bkxpc3QgTGluZTo6Y2xvc2UoKQogewogICAgIHJlbW92ZVRyYWlsaW5nVHJpbW1hYmxlQ29u
dGVudCgpOwogICAgIGlmICghbV9za2lwVmVydGljYWxBbGlnbWVudCkgewpAQCAtMTEwLDE0ICsx
MDksMTQgQEAgc3RkOjp1bmlxdWVfcHRyPExpbmU6OkNvbnRlbnQ+IExpbmU6OmNsb3NlKCkKICAg
ICAgICAgfQogCiAgICAgICAgIC8vIFJlbW92ZSBkZXNjZW50IHdoZW4gYWxsIGNvbnRlbnQgaXMg
YmFzZWxpbmUgYWxpZ25lZCBidXQgbm9uZSBvZiB0aGVtIGhhdmUgZGVzY2VudC4KLSAgICAgICAg
aWYgKGZvcm1hdHRpbmdDb250ZXh0KCkucXVpcmtzKCkubGluZURlc2NlbnROZWVkc0NvbGxhcHNp
bmcoKm1fY29udGVudCkpIHsKKyAgICAgICAgaWYgKGZvcm1hdHRpbmdDb250ZXh0KCkucXVpcmtz
KCkubGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcobV9ydW5MaXN0KSkgewogICAgICAgICAgICAg
bV9saW5lQm94LnNocmlua1ZlcnRpY2FsbHkobV9saW5lQm94LmJhc2VsaW5lKCkuZGVzY2VudCgp
KTsKICAgICAgICAgICAgIG1fbGluZUJveC5iYXNlbGluZSgpLnNldERlc2NlbnQoeyB9KTsKICAg
ICAgICAgfQogCiAgICAgICAgIGF1dG8mIGxheW91dFN0YXRlID0gdGhpcy0+bGF5b3V0U3RhdGUo
KTsKICAgICAgICAgYXV0byYgZm9ybWF0dGluZ0NvbnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29u
dGV4dCgpOwotICAgICAgICBmb3IgKGF1dG8mIHJ1biA6IG1fY29udGVudC0+cnVucygpKSB7Cisg
ICAgICAgIGZvciAoYXV0byYgcnVuIDogbV9ydW5MaXN0KSB7CiAgICAgICAgICAgICBMYXlvdXRV
bml0IGxvZ2ljYWxUb3A7CiAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4tPmxheW91
dEJveCgpOwogICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0gbGF5b3V0Qm94LnN0eWxl
KCkudmVydGljYWxBbGlnbigpOwpAQCAtMTU1LDcgKzE1NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxM
aW5lOjpDb250ZW50PiBMaW5lOjpjbG9zZSgpCiAgICAgICAgICAgICBydW4tPm1vdmVIb3Jpem9u
dGFsbHkodGhpcy0+bG9naWNhbExlZnQoKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJu
IFdURk1vdmUobV9jb250ZW50KTsKKyAgICByZXR1cm4gV1RGTW92ZShtX3J1bkxpc3QpOwogfQog
CiB2b2lkIExpbmU6OnJlbW92ZVRyYWlsaW5nVHJpbW1hYmxlQ29udGVudCgpCkBAIC0yMTIsNyAr
MjExLDcgQEAgdm9pZCBMaW5lOjphcHBlbmQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwg
TGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiAKIHZvaWQgTGluZTo6YXBwZW5kTm9uQnJlYWthYmxl
U3BhY2UoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgY29uc3QgRGlzcGxheTo6UmVjdCYg
bG9naWNhbFJlY3QpCiB7Ci0gICAgbV9jb250ZW50LT5ydW5zKCkuYXBwZW5kKG1ha2VVbmlxdWU8
Q29udGVudDo6UnVuPihpbmxpbmVJdGVtLCBsb2dpY2FsUmVjdCkpOworICAgIG1fcnVuTGlzdC5h
cHBlbmQobWFrZVVuaXF1ZTxSdW4+KGlubGluZUl0ZW0sIGxvZ2ljYWxSZWN0KSk7CiAgICAgbV9s
aW5lQm94LmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsUmVjdC53aWR0aCgpKTsKIH0KIApAQCAt
MjUyLDEyICsyNTEsMTEgQEAgdm9pZCBMaW5lOjphcHBlbmRUZXh0Q29udGVudChjb25zdCBJbmxp
bmVUZXh0SXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBsb2dpY2EKICAgICAgICAgaWYgKCFp
c1RyaW1tYWJsZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgLy8gTGVhZGlu
ZyB3aGl0ZXNwYWNlLgotICAgICAgICBhdXRvJiBydW5zID0gbV9jb250ZW50LT5ydW5zKCk7Ci0g
ICAgICAgIGlmIChydW5zLmlzRW1wdHkoKSkKKyAgICAgICAgaWYgKG1fcnVuTGlzdC5pc0VtcHR5
KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGxh
c3QgaXRlbSBpcyB0cmltbWFibGUgYXMgd2VsbC4KLSAgICAgICAgZm9yIChpbnQgaW5kZXggPSBy
dW5zLnNpemUoKSAtIDE7IGluZGV4ID49IDA7IC0taW5kZXgpIHsKLSAgICAgICAgICAgIGF1dG8m
IHJ1biA9IHJ1bnNbaW5kZXhdOworICAgICAgICBmb3IgKGludCBpbmRleCA9IG1fcnVuTGlzdC5z
aXplKCkgLSAxOyBpbmRleCA+PSAwOyAtLWluZGV4KSB7CisgICAgICAgICAgICBhdXRvJiBydW4g
PSBtX3J1bkxpc3RbaW5kZXhdOwogICAgICAgICAgICAgaWYgKHJ1bi0+aXNCb3goKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAocnVuLT5pc1RleHQoKSkK
QEAgLTI4MCwxMiArMjc4LDEyIEBAIHZvaWQgTGluZTo6YXBwZW5kVGV4dENvbnRlbnQoY29uc3Qg
SW5saW5lVGV4dEl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhCiAgICAgICAgIGFk
anVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChpbmxpbmVJdGVtLCBydW5IZWlnaHQpOwogICAgIH0K
IAotICAgIGF1dG8gdGV4dENvbnRleHQgPSBDb250ZW50OjpSdW46OlRleHRDb250ZXh0IHsgaW5s
aW5lSXRlbS5zdGFydCgpLCBpbmxpbmVJdGVtLmlzQ29sbGFwc2VkKCkgPyAxIDogaW5saW5lSXRl
bS5sZW5ndGgoKSwgaXNDb21wbGV0ZWx5Q29sbGFwc2VkLCBpbmxpbmVJdGVtLmlzV2hpdGVzcGFj
ZSgpLCBjYW5CZUV4dGVuZGVkIH07Ci0gICAgYXV0byBsaW5lSXRlbSA9IG1ha2VVbmlxdWU8Q29u
dGVudDo6UnVuPihpbmxpbmVJdGVtLCB0ZXh0Q29udGV4dCwgbG9naWNhbFJlY3QpOworICAgIGF1
dG8gdGV4dENvbnRleHQgPSBSdW46OlRleHRDb250ZXh0IHsgaW5saW5lSXRlbS5zdGFydCgpLCBp
bmxpbmVJdGVtLmlzQ29sbGFwc2VkKCkgPyAxIDogaW5saW5lSXRlbS5sZW5ndGgoKSwgaXNDb21w
bGV0ZWx5Q29sbGFwc2VkLCBpbmxpbmVJdGVtLmlzV2hpdGVzcGFjZSgpLCBjYW5CZUV4dGVuZGVk
IH07CisgICAgYXV0byBsaW5lSXRlbSA9IG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCB0ZXh0
Q29udGV4dCwgbG9naWNhbFJlY3QpOwogICAgIGlmIChpc1RyaW1tYWJsZSAmJiAhaXNDb21wbGV0
ZWx5Q29sbGFwc2VkKQogICAgICAgICBtX3RyaW1tYWJsZUNvbnRlbnQuYWRkKGxpbmVJdGVtLmdl
dCgpKTsKIAotICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZChXVEZNb3ZlKGxpbmVJdGVtKSk7
CisgICAgbV9ydW5MaXN0LmFwcGVuZChXVEZNb3ZlKGxpbmVJdGVtKSk7CiAgICAgaWYgKCFpc0Nv
bXBsZXRlbHlDb2xsYXBzZWQpCiAgICAgICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9udGFsbHko
bG9naWNhbFdpZHRoKTsKIH0KQEAgLTMwMyw3ICszMDEsNyBAQCB2b2lkIExpbmU6OmFwcGVuZE5v
blJlcGxhY2VkSW5saW5lQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVu
aXQgbAogICAgICAgICBsb2dpY2FsUmVjdC5zZXRIZWlnaHQoaW5saW5lSXRlbUNvbnRlbnRIZWln
aHQoaW5saW5lSXRlbSkpOwogICAgIH0KIAotICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZCht
YWtlVW5pcXVlPENvbnRlbnQ6OlJ1bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3QpKTsKKyAgICBt
X3J1bkxpc3QuYXBwZW5kKG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCBsb2dpY2FsUmVjdCkp
OwogICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9udGFsbHkobG9naWNhbFdpZHRoICsgaG9yaXpv
bnRhbE1hcmdpbi5zdGFydCArIGhvcml6b250YWxNYXJnaW4uZW5kKTsKICAgICBtX3RyaW1tYWJs
ZUNvbnRlbnQuY2xlYXIoKTsKIH0KQEAgLTMyMyw3ICszMjEsNyBAQCB2b2lkIExpbmU6OmFwcGVu
ZEhhcmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSkKICAgICAgICAgYWRq
dXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KGlubGluZUl0ZW0sIHsgfSk7CiAgICAgICAgIGxvZ2lj
YWxSZWN0LnNldEhlaWdodChsb2dpY2FsSGVpZ2h0KCkpOwogICAgIH0KLSAgICBtX2NvbnRlbnQt
PnJ1bnMoKS5hcHBlbmQobWFrZVVuaXF1ZTxDb250ZW50OjpSdW4+KGlubGluZUl0ZW0sIGxvZ2lj
YWxSZWN0KSk7CisgICAgbV9ydW5MaXN0LmFwcGVuZChtYWtlVW5pcXVlPFJ1bj4oaW5saW5lSXRl
bSwgbG9naWNhbFJlY3QpKTsKIH0KIAogdm9pZCBMaW5lOjphZGp1c3RCYXNlbGluZUFuZExpbmVI
ZWlnaHQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBydW5IZWlnaHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lLmgKaW5kZXggM2YwNWU4MDIwYjliMWZkZDE5OTBiZmZjOGQzYmEyOTI5Y2U3NmU2My4uNTM3
MGI4Y2ZiZmZmOWZhMTYyYTc2YTIzOGExYjczZGU0ZTI5YWQ2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaApAQCAtNTQsNTUg
KzU0LDYgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgU2tpcFZlcnRpY2FsQWxpZ21lbnQgeyBO
bywgWWVzIH07CiAgICAgTGluZShjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYsIGNvbnN0
IEluaXRpYWxDb25zdHJhaW50cyYsIFNraXBWZXJ0aWNhbEFsaWdtZW50KTsKIAotICAgIGNsYXNz
IENvbnRlbnQgewotICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIHN0cnVjdCBSdW4gewotICAgICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1Rf
QUxMT0NBVEVEOwotICAgICAgICAgICAgc3RydWN0IFRleHRDb250ZXh0IHsKLSAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBzdGFydCB7IDAgfTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZW5n
dGggeyAwIH07Ci0gICAgICAgICAgICAgICAgYm9vbCBpc0NvbGxhcHNlZCB7IGZhbHNlIH07Ci0g
ICAgICAgICAgICAgICAgYm9vbCBpc1doaXRlc3BhY2UgeyBmYWxzZSB9OwotICAgICAgICAgICAg
ICAgIGJvb2wgY2FuQmVFeHRlbmRlZCB7IGZhbHNlIH07Ci0gICAgICAgICAgICB9OwotICAgICAg
ICAgICAgUnVuKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBEaXNwbGF5OjpSZWN0Jik7Ci0gICAg
ICAgICAgICBSdW4oY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IFRleHRDb250ZXh0JiwgY29uc3Qg
RGlzcGxheTo6UmVjdCYpOwotCi0gICAgICAgICAgICBjb25zdCBCb3gmIGxheW91dEJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94OyB9Ci0gICAgICAgICAgICBjb25zdCBEaXNwbGF5OjpS
ZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7IH0KLSAgICAg
ICAgICAgIGNvbnN0IE9wdGlvbmFsPFRleHRDb250ZXh0PiB0ZXh0Q29udGV4dCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dENvbnRleHQ7IH0KLSAgICAgICAgICAgIElubGluZUl0ZW06OlR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgICAgICAgICBib29sIGlzVGV4dCgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpUZXh0OyB9Ci0gICAg
ICAgICAgICBib29sIGlzQm94KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IElubGluZUl0ZW06
OlR5cGU6OkJveDsgfQotICAgICAgICAgICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpIYXJkTGluZUJyZWFrOyB9Ci0gICAgICAg
ICAgICBib29sIGlzQ29udGFpbmVyU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5s
aW5lSXRlbTo6VHlwZTo6Q29udGFpbmVyU3RhcnQ7IH0KLSAgICAgICAgICAgIGJvb2wgaXNDb250
YWluZXJFbmQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5saW5lSXRlbTo6VHlwZTo6Q29u
dGFpbmVyRW5kOyB9Ci0KLSAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIGZyaWVuZCBjbGFz
cyBMaW5lOwotICAgICAgICAgICAgdm9pZCBhZGp1c3RMb2dpY2FsVG9wKExheW91dFVuaXQgbG9n
aWNhbFRvcCkgeyBtX2xvZ2ljYWxSZWN0LnNldFRvcChsb2dpY2FsVG9wKTsgfQotICAgICAgICAg
ICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0
Lm1vdmVWZXJ0aWNhbGx5KG9mZnNldCk7IH0KLSAgICAgICAgICAgIHZvaWQgbW92ZUhvcml6b250
YWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFsbHko
b2Zmc2V0KTsgfQotICAgICAgICAgICAgdm9pZCBzZXRUZXh0SXNDb2xsYXBzZWQoKSB7IG1fdGV4
dENvbnRleHQtPmlzQ29sbGFwc2VkID0gdHJ1ZTsgfQotCi0gICAgICAgICAgICBjb25zdCBCb3gm
IG1fbGF5b3V0Qm94OwotICAgICAgICAgICAgY29uc3QgSW5saW5lSXRlbTo6VHlwZSBtX3R5cGU7
Ci0gICAgICAgICAgICBEaXNwbGF5OjpSZWN0IG1fbG9naWNhbFJlY3Q7Ci0gICAgICAgICAgICBP
cHRpb25hbDxUZXh0Q29udGV4dD4gbV90ZXh0Q29udGV4dDsKLSAgICAgICAgfTsKLSAgICAgICAg
dXNpbmcgUnVucyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8UnVuPj47Ci0gICAgICAgIGNvbnN0
IFJ1bnMmIHJ1bnMoKSBjb25zdCB7IHJldHVybiBtX3J1bnM7IH0KLQotICAgIHByaXZhdGU6Ci0g
ICAgICAgIGZyaWVuZCBjbGFzcyBMaW5lOwotICAgICAgICBSdW5zJiBydW5zKCkgeyByZXR1cm4g
bV9ydW5zOyB9Ci0KLSAgICAgICAgUnVucyBtX3J1bnM7Ci0gICAgfTsKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q29udGVudD4gY2xvc2UoKTsKLQogICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0
ZW0mLCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7CiAgICAgYm9vbCBoYXNDb250ZW50KCkgY29u
c3QgeyByZXR1cm4gIWlzVmlzdWFsbHlFbXB0eSgpOyB9CiAgICAgTGF5b3V0VW5pdCBhdmFpbGFi
bGVXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgpIC0gY29udGVudExvZ2ljYWxX
aWR0aCgpOyB9CkBAIC0xMTMsNiArNjQsNDQgQEAgcHVibGljOgogICAgIHZvaWQgbW92ZUxvZ2lj
YWxMZWZ0KExheW91dFVuaXQpOwogICAgIHZvaWQgbW92ZUxvZ2ljYWxSaWdodChMYXlvdXRVbml0
KTsKIAorICAgIHN0cnVjdCBSdW4geworICAgICAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExP
Q0FURUQ7CisgICAgICAgIHN0cnVjdCBUZXh0Q29udGV4dCB7CisgICAgICAgICAgICB1bnNpZ25l
ZCBzdGFydCB7IDAgfTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCB7IDAgfTsKKyAgICAg
ICAgICAgIGJvb2wgaXNDb2xsYXBzZWQgeyBmYWxzZSB9OworICAgICAgICAgICAgYm9vbCBpc1do
aXRlc3BhY2UgeyBmYWxzZSB9OworICAgICAgICAgICAgYm9vbCBjYW5CZUV4dGVuZGVkIHsgZmFs
c2UgfTsKKyAgICAgICAgfTsKKyAgICAgICAgUnVuKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBE
aXNwbGF5OjpSZWN0Jik7CisgICAgICAgIFJ1bihjb25zdCBJbmxpbmVJdGVtJiwgY29uc3QgVGV4
dENvbnRleHQmLCBjb25zdCBEaXNwbGF5OjpSZWN0Jik7CisKKyAgICAgICAgY29uc3QgQm94JiBs
YXlvdXRCb3goKSBjb25zdCB7IHJldHVybiBtX2xheW91dEJveDsgfQorICAgICAgICBjb25zdCBE
aXNwbGF5OjpSZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7
IH0KKyAgICAgICAgY29uc3QgT3B0aW9uYWw8VGV4dENvbnRleHQ+IHRleHRDb250ZXh0KCkgY29u
c3QgeyByZXR1cm4gbV90ZXh0Q29udGV4dDsgfQorICAgICAgICBJbmxpbmVJdGVtOjpUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKworICAgICAgICBib29sIGlzVGV4dCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpUZXh0OyB9CisgICAgICAg
IGJvb2wgaXNCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5saW5lSXRlbTo6VHlwZTo6
Qm94OyB9CisgICAgICAgIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gSW5saW5lSXRlbTo6VHlwZTo6SGFyZExpbmVCcmVhazsgfQorICAgICAgICBib29sIGlzQ29u
dGFpbmVyU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5saW5lSXRlbTo6VHlwZTo6
Q29udGFpbmVyU3RhcnQ7IH0KKyAgICAgICAgYm9vbCBpc0NvbnRhaW5lckVuZCgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpDb250YWluZXJFbmQ7IH0KKworICAg
IHByaXZhdGU6CisgICAgICAgIGZyaWVuZCBjbGFzcyBMaW5lOworICAgICAgICB2b2lkIGFkanVz
dExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBsb2dpY2FsVG9wKSB7IG1fbG9naWNhbFJlY3Quc2V0VG9w
KGxvZ2ljYWxUb3ApOyB9CisgICAgICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoTGF5b3V0VW5pdCBv
ZmZzZXQpIHsgbV9sb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOyB9CisgICAgICAg
IHZvaWQgbW92ZUhvcml6b250YWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0
Lm1vdmVIb3Jpem9udGFsbHkob2Zmc2V0KTsgfQorICAgICAgICB2b2lkIHNldFRleHRJc0NvbGxh
cHNlZCgpIHsgbV90ZXh0Q29udGV4dC0+aXNDb2xsYXBzZWQgPSB0cnVlOyB9CisKKyAgICAgICAg
Y29uc3QgQm94JiBtX2xheW91dEJveDsKKyAgICAgICAgY29uc3QgSW5saW5lSXRlbTo6VHlwZSBt
X3R5cGU7CisgICAgICAgIERpc3BsYXk6OlJlY3QgbV9sb2dpY2FsUmVjdDsKKyAgICAgICAgT3B0
aW9uYWw8VGV4dENvbnRleHQ+IG1fdGV4dENvbnRleHQ7CisgICAgfTsKKyAgICB1c2luZyBSdW5M
aXN0ID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxSdW4+PjsKKyAgICBSdW5MaXN0IGNsb3NlKCk7
CisKICAgICBzdGF0aWMgTGluZUJveDo6QmFzZWxpbmUgaGFsZkxlYWRpbmdNZXRyaWNzKGNvbnN0
IEZvbnRNZXRyaWNzJiwgTGF5b3V0VW5pdCBsaW5lTG9naWNhbEhlaWdodCk7CiAKIHByaXZhdGU6
CkBAIC0xNDcsOCArMTM2LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdDsgCiAKICAgICBjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8Q29udGVudD4gbV9jb250ZW50OwotICAgIExpc3RIYXNoU2V0PENvbnRlbnQ6OlJ1
bio+IG1fdHJpbW1hYmxlQ29udGVudDsKKyAgICBSdW5MaXN0IG1fcnVuTGlzdDsKKyAgICBMaXN0
SGFzaFNldDxSdW4qPiBtX3RyaW1tYWJsZUNvbnRlbnQ7CiAKICAgICBPcHRpb25hbDxMaW5lQm94
OjpCYXNlbGluZT4gbV9pbml0aWFsU3RydXQ7CiAgICAgTGF5b3V0VW5pdCBtX2xpbmVMb2dpY2Fs
V2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379706</attachid>
            <date>2019-09-26 19:26:57 -0700</date>
            <delta_ts>2019-09-26 20:23:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202284-20190926192656.patch</filename>
            <type>text/plain</type>
            <size>19729</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ1OWM4ZjBhNmE5MjJm
MDY5N2ExYjBhOWExMjAwNTYxODcwZDM2OC4uMzRlYjgyZjFlZDVkZmM2NWI5NGMxMTY1NTNkYWEx
Mzg4ZDdhZTNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE5LTA5LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
cmVkdW5kYW50IExpbmU6OkNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMjI4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTU3NTcxODc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTGluZTo6
Q29udGVudCBpcyByZWFsbHkganVzdCBhIGxpc3Qgb3IgcnVucyBhdCB0aGlzIHBvaW50LgorCisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
aDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dExpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyk6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
UXVpcmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6CisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmU6OlJ1bjo6UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6
TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmlzVmlzdWFsbHlFbXB0eSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmNsb3NlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kTm9uQnJlYWthYmxlU3BhY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVuZE5vblJlcGxhY2VkSW5saW5lQm94KToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kSGFyZExpbmVCcmVhayk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6UnVuKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bGF5b3V0Qm94IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpsb2dpY2FsUmVjdCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6dGV4dENvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpSdW46OnR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46OmlzVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmU6OlJ1bjo6aXNCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lOjpSdW46OmlzTGluZUJyZWFrIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZTo6UnVuOjppc0NvbnRhaW5lclN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6UnVuOjppc0NvbnRhaW5lckVuZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6YWRqdXN0TG9naWNhbFRvcCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bW92ZVZlcnRpY2FsbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46Om1vdmVIb3Jpem9udGFsbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46OnNldFRleHRJc0NvbGxhcHNlZCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6bGF5b3V0Qm94IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjpsb2dpY2Fs
UmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNv
bnRlbnQ6OlJ1bjo6dGV4dENvbnRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OnR5cGUgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OmlzVGV4dCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6
aXNCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpD
b250ZW50OjpSdW46OmlzTGluZUJyZWFrIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjppc0NvbnRhaW5lclN0YXJ0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjpp
c0NvbnRhaW5lckVuZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6YWRqdXN0TG9naWNhbFRvcCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6bW92ZVZlcnRpY2FsbHkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46Om1v
dmVIb3Jpem9udGFsbHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
OjpDb250ZW50OjpSdW46OnNldFRleHRJc0NvbGxhcHNlZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OnJ1bnMgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpydW5zKTogRGVsZXRlZC4KKwog
MjAxOS0wOS0yNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtM
RkNdW0lGQ10gTW92ZSBMaW5lOjpDb250ZW50OjptX2xpbmVCb3ggdG8gTGluZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDIwYTA4OTI4ZjhkZjI3ZDFmMzg4NjNkMDA5MDhm
MmI2ZThmMDVhZDAuLjYwN2IxNmI5ZjgzMmIxMWYxODE3OTUyZTQzZTUwOWU4MjY2ZjgyOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRl
OgogCiAgICAgY2xhc3MgUXVpcmtzIDogcHVibGljIEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3Mg
ewogICAgIHB1YmxpYzoKLSAgICAgICAgYm9vbCBsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhj
b25zdCBMaW5lOjpDb250ZW50JikgY29uc3Q7CisgICAgICAgIGJvb2wgbGluZURlc2NlbnROZWVk
c0NvbGxhcHNpbmcoY29uc3QgTGluZTo6UnVuTGlzdCYpIGNvbnN0OwogICAgICAgICBMaW5lOjpJ
bml0aWFsQ29uc3RyYWludHM6OkhlaWdodEFuZEJhc2VsaW5lIGxpbmVIZWlnaHRDb25zdHJhaW50
cyhjb25zdCBCb3gmIGZvcm1hdHRpbmdSb290KSBjb25zdDsKIAogICAgIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmNwcAppbmRleCA2
NzE4ODBlZmU3MjdkNTU1NmRjMmY0NjU4NTA0OThhZTYyYWI3ZjJhLi42N2UyNWFhNWExYmMyZjU0
MmQzN2ExNWNkNzEyYTk5NmI2NzQzNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgc3RydWN0IExpbmVJ
bnB1dCB7CiBzdHJ1Y3QgTGluZUNvbnRlbnQgewogICAgIE9wdGlvbmFsPEluZGV4QW5kUmFuZ2U+
IGxhc3RDb21taXR0ZWQ7CiAgICAgVmVjdG9yPFdlYWtQdHI8SW5saW5lSXRlbT4+IGZsb2F0czsK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8Y29uc3QgTGluZTo6Q29udGVudD4gcnVuczsKKyAgICBjb25z
dCBMaW5lOjpSdW5MaXN0IHJ1bkxpc3Q7CiAgICAgY29uc3QgTGluZUJveCBsaW5lQm94OwogfTsK
IApAQCAtMzgyLDcgKzM4Miw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGlu
ZUxheW91dDo6Y3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZUNvbnRlbnQmCiAgICAgLy8gQSBs
aW5lIGJveCBpcyBhbHdheXMgdGFsbCBlbm91Z2ggZm9yIGFsbCBvZiB0aGUgYm94ZXMgaXQgY29u
dGFpbnMuCiAKICAgICAvLyBDcmVhdGUgZmluYWwgZGlzcGxheSBydW5zLgotICAgIGF1dG8mIGxp
bmVSdW5zID0gbGluZUNvbnRlbnQucnVucy0+cnVucygpOworICAgIGF1dG8mIGxpbmVSdW5zID0g
bGluZUNvbnRlbnQucnVuTGlzdDsKICAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXgg
PCBsaW5lUnVucy5zaXplKCk7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcnVuID0gbGluZVJ1
bnMuYXQoaW5kZXgpOwogICAgICAgICAvLyBJbmxpbmUgbGV2ZWwgY29udGFpbmVycyAoPHNwYW4+
KSBkb24ndCBnZW5lcmF0ZSBpbmxpbmUgcnVucy4KQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0OjpJbmxpbmVMYXlvdXQ6OmNyZWF0ZURpc3BsYXlSdW5zKGNv
bnN0IExpbmVDb250ZW50JgogICAgICAgICAgICAgaWYgKHRleHRDb250ZXh0LT5pc0NvbGxhcHNl
ZCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIC8vIFRyeSB0byBqb2lu
IG11bHRpcGxlIHRleHQgcnVucyB3aGVuIHBvc3NpYmxlLgotICAgICAgICAgICAgY29uc3QgTGlu
ZTo6Q29udGVudDo6UnVuKiBwcmV2aW91c1J1biA9ICFpbmRleCA/IG51bGxwdHIgOiBsaW5lUnVu
c1tpbmRleCAtIDFdLmdldCgpOworICAgICAgICAgICAgY29uc3QgTGluZTo6UnVuKiBwcmV2aW91
c1J1biA9ICFpbmRleCA/IG51bGxwdHIgOiBsaW5lUnVuc1tpbmRleCAtIDFdLmdldCgpOwogICAg
ICAgICAgICAgYXV0byBwcmV2aW91c1J1bkNhbkJlRXh0ZW5kZWQgPSBwcmV2aW91c1J1biAmJiBw
cmV2aW91c1J1bi0+dGV4dENvbnRleHQoKSA/IHByZXZpb3VzUnVuLT50ZXh0Q29udGV4dCgpLT5j
YW5CZUV4dGVuZGVkIDogZmFsc2U7CiAgICAgICAgICAgICBhdXRvIGN1cnJlbnRSdW5DYW5CZU1l
cmdlZFdpdGhQcmV2aW91cyA9ICFwcmV2aW91c1J1biB8fCAmcnVuLT5sYXlvdXRCb3goKSA9PSAm
cHJldmlvdXNSdW4tPmxheW91dEJveCgpOwogCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6SW5saW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyhjb25z
dCBMaW5lQ29udGVudCYKICAgICAgICAgLy8gVGV4dCBjb250ZW50LiBUcnkgdG8gam9pbiBtdWx0
aXBsZSB0ZXh0IHJ1bnMgd2hlbiBwb3NzaWJsZS4KICAgICAgICAgaWYgKGxpbmVSdW4tPmlzVGV4
dCgpKSB7CiAgICAgICAgICAgICBhdXRvIHRleHRDb250ZXh0ID0gbGluZVJ1bi0+dGV4dENvbnRl
eHQoKTsKLSAgICAgICAgICAgIGNvbnN0IExpbmU6OkNvbnRlbnQ6OlJ1biogcHJldmlvdXNMaW5l
UnVuID0gIWluZGV4ID8gbnVsbHB0ciA6IGxpbmVSdW5zW2luZGV4IC0gMV0uZ2V0KCk7CisgICAg
ICAgICAgICBjb25zdCBMaW5lOjpSdW4qIHByZXZpb3VzTGluZVJ1biA9ICFpbmRleCA/IG51bGxw
dHIgOiBsaW5lUnVuc1tpbmRleCAtIDFdLmdldCgpOwogICAgICAgICAgICAgLy8gRklYTUUgdGFr
ZSBjb250ZW50IGJyZWFraW5nIGludG8gYWNjb3VudCB3aGVuIHBhcnQgb2YgdGhlIGxheW91dCBi
b3ggaXMgb24gdGhlIHByZXZpb3VzIGxpbmUuCiAgICAgICAgICAgICBhdXRvIGZpcnN0SW5saW5l
UnVuRm9yTGF5b3V0Qm94ID0gIXByZXZpb3VzTGluZVJ1biB8fCAmcHJldmlvdXNMaW5lUnVuLT5s
YXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94OwogICAgICAgICAgICAgaWYgKGZpcnN0SW5saW5lUnVu
Rm9yTGF5b3V0Qm94KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJr
cy5jcHAKaW5kZXggZGZjYzYyNmEzMDkxNjhmNDNjMWYwZTM4MjhkMjc5YjBiYmYwNzUzNi4uNzc5
YmEyNzlhMjA1MTkyNTUxYjIxY2M0MjdhZGNlNTU3NzRmMmE2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRR
dWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLWJvb2wgSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OlF1aXJrczo6bGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3QgTGluZTo6
Q29udGVudCYgbGluZUNvbnRlbnQpIGNvbnN0Citib29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nKGNvbnN0IExpbmU6OlJ1bkxpc3Qm
IHJ1bkxpc3QpIGNvbnN0CiB7CiAgICAgLy8gQ29sbGFwc2UgbGluZSBkZXNjZW50IGluIGxpbWl0
ZWQgYW5kIGZ1bGwgcXVpcmsgbW9kZSB3aGVuIHRoZXJlJ3Mgbm8gYmFzZWxpbmUgYWxpZ25lZCBj
b250ZW50IG9yCiAgICAgLy8gdGhlIGJhc2VsaW5lIGFsaWduZWQgY29udGVudCBoYXMgbm8gZGVz
Y2VudC4KQEAgLTQ0LDcgKzQ0LDcgQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVp
cmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhjb25zdCBMaW5lOjpDb24KICAgICBpZiAo
IWxheW91dFN0YXRlLmluUXVpcmtzTW9kZSgpICYmICFsYXlvdXRTdGF0ZS5pbkxpbWl0ZWRRdWly
a3NNb2RlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGZvciAoYXV0byYgcnVuIDog
bGluZUNvbnRlbnQucnVucygpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBydW5MaXN0KSB7CiAg
ICAgICAgIGF1dG8mIGxheW91dEJveCA9IHJ1bi0+bGF5b3V0Qm94KCk7CiAgICAgICAgIGlmIChs
YXlvdXRCb3guc3R5bGUoKS52ZXJ0aWNhbEFsaWduKCkgIT0gVmVydGljYWxBbGlnbjo6QmFzZWxp
bmUpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHAKaW5kZXggODNlNWNhMzlhYTA3Nzhm
YTkxNTYyYTFkMzRlNDJkMTIxZGE0YjgxYS4uYTAxMGU5MTFiYWM1Y2EwZjk4OWI3ZTRjN2NhMmNj
MTNjMDVjZmEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZS5jcHAKQEAgLTM3LDE0ICszNywxNCBAQCBuYW1lc3BhY2UgTGF5
b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKExpbmUpOwogCi1MaW5lOjpDb250
ZW50OjpSdW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBEaXNwbGF5
OjpSZWN0JiBsb2dpY2FsUmVjdCkKK0xpbmU6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlu
bGluZUl0ZW0sIGNvbnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogICAgIDogbV9sYXlv
dXRCb3goaW5saW5lSXRlbS5sYXlvdXRCb3goKSkKICAgICAsIG1fdHlwZShpbmxpbmVJdGVtLnR5
cGUoKSkKICAgICAsIG1fbG9naWNhbFJlY3QobG9naWNhbFJlY3QpCiB7CiB9CiAKLUxpbmU6OkNv
bnRlbnQ6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IFRleHRD
b250ZXh0JiB0ZXh0Q29udGV4dCwgY29uc3QgRGlzcGxheTo6UmVjdCYgbG9naWNhbFJlY3QpCitM
aW5lOjpSdW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBUZXh0Q29u
dGV4dCYgdGV4dENvbnRleHQsIGNvbnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogICAg
IDogbV9sYXlvdXRCb3goaW5saW5lSXRlbS5sYXlvdXRCb3goKSkKICAgICAsIG1fdHlwZShpbmxp
bmVJdGVtLnR5cGUoKSkKICAgICAsIG1fbG9naWNhbFJlY3QobG9naWNhbFJlY3QpCkBAIC01NCw3
ICs1NCw2IEBAIExpbmU6OkNvbnRlbnQ6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGlu
ZUl0ZW0sIGNvbnN0IFRleHRDb250ZXh0JiB0ZXh0Q29uCiAKIExpbmU6OkxpbmUoY29uc3QgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBJbml0
aWFsQ29uc3RyYWludHMmIGluaXRpYWxDb25zdHJhaW50cywgU2tpcFZlcnRpY2FsQWxpZ21lbnQg
c2tpcFZlcnRpY2FsQWxpZ21lbnQpCiAgICAgOiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0KGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0KQotICAgICwgbV9jb250ZW50KG1ha2VVbmlxdWU8TGluZTo6
Q29udGVudD4oKSkKICAgICAsIG1faW5pdGlhbFN0cnV0KGluaXRpYWxDb25zdHJhaW50cy5oZWln
aHRBbmRCYXNlbGluZS5zdHJ1dCkKICAgICAsIG1fbGluZUxvZ2ljYWxXaWR0aChpbml0aWFsQ29u
c3RyYWludHMuYXZhaWxhYmxlTG9naWNhbFdpZHRoKQogICAgICwgbV9za2lwVmVydGljYWxBbGln
bWVudChza2lwVmVydGljYWxBbGlnbWVudCA9PSBTa2lwVmVydGljYWxBbGlnbWVudDo6WWVzKQpA
QCAtNzYsNyArNzUsNyBAQCBib29sIExpbmU6OmlzVmlzdWFsbHlFbXB0eSgpIGNvbnN0CiAgICAg
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGNhY2hlZCBpbnN0ZWFkIC1hcyB0aGUgaW5saW5lIGl0
ZW1zIGFyZSBiZWluZyBhZGRlZC4KICAgICAvLyBSZXR1cm4gdHJ1ZSBmb3IgZW1wdHkgaW5saW5l
IGNvbnRhaW5lcnMgbGlrZSA8c3Bhbj48L3NwYW4+LgogICAgIGF1dG8mIGZvcm1hdHRpbmdDb250
ZXh0ID0gdGhpcy0+Zm9ybWF0dGluZ0NvbnRleHQoKTsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IG1f
Y29udGVudC0+cnVucygpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBtX3J1bkxpc3QpIHsKICAg
ICAgICAgaWYgKHJ1bi0+aXNDb250YWluZXJTdGFydCgpKSB7CiAgICAgICAgICAgICBpZiAoIWlz
SW5saW5lQ29udGFpbmVyQ29uc2lkZXJlZEVtcHR5KGZvcm1hdHRpbmdDb250ZXh0LCBydW4tPmxh
eW91dEJveCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05OSw3ICs5OCw3
IEBAIGJvb2wgTGluZTo6aXNWaXN1YWxseUVtcHR5KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotc3RkOjp1bmlxdWVfcHRyPExpbmU6OkNvbnRlbnQ+IExpbmU6OmNsb3NlKCkKK0xpbmU6
OlJ1bkxpc3QgTGluZTo6Y2xvc2UoKQogewogICAgIHJlbW92ZVRyYWlsaW5nVHJpbW1hYmxlQ29u
dGVudCgpOwogICAgIGlmICghbV9za2lwVmVydGljYWxBbGlnbWVudCkgewpAQCAtMTEwLDE0ICsx
MDksMTQgQEAgc3RkOjp1bmlxdWVfcHRyPExpbmU6OkNvbnRlbnQ+IExpbmU6OmNsb3NlKCkKICAg
ICAgICAgfQogCiAgICAgICAgIC8vIFJlbW92ZSBkZXNjZW50IHdoZW4gYWxsIGNvbnRlbnQgaXMg
YmFzZWxpbmUgYWxpZ25lZCBidXQgbm9uZSBvZiB0aGVtIGhhdmUgZGVzY2VudC4KLSAgICAgICAg
aWYgKGZvcm1hdHRpbmdDb250ZXh0KCkucXVpcmtzKCkubGluZURlc2NlbnROZWVkc0NvbGxhcHNp
bmcoKm1fY29udGVudCkpIHsKKyAgICAgICAgaWYgKGZvcm1hdHRpbmdDb250ZXh0KCkucXVpcmtz
KCkubGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcobV9ydW5MaXN0KSkgewogICAgICAgICAgICAg
bV9saW5lQm94LnNocmlua1ZlcnRpY2FsbHkobV9saW5lQm94LmJhc2VsaW5lKCkuZGVzY2VudCgp
KTsKICAgICAgICAgICAgIG1fbGluZUJveC5iYXNlbGluZSgpLnNldERlc2NlbnQoeyB9KTsKICAg
ICAgICAgfQogCiAgICAgICAgIGF1dG8mIGxheW91dFN0YXRlID0gdGhpcy0+bGF5b3V0U3RhdGUo
KTsKICAgICAgICAgYXV0byYgZm9ybWF0dGluZ0NvbnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29u
dGV4dCgpOwotICAgICAgICBmb3IgKGF1dG8mIHJ1biA6IG1fY29udGVudC0+cnVucygpKSB7Cisg
ICAgICAgIGZvciAoYXV0byYgcnVuIDogbV9ydW5MaXN0KSB7CiAgICAgICAgICAgICBMYXlvdXRV
bml0IGxvZ2ljYWxUb3A7CiAgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4tPmxheW91
dEJveCgpOwogICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0gbGF5b3V0Qm94LnN0eWxl
KCkudmVydGljYWxBbGlnbigpOwpAQCAtMTU1LDcgKzE1NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxM
aW5lOjpDb250ZW50PiBMaW5lOjpjbG9zZSgpCiAgICAgICAgICAgICBydW4tPm1vdmVIb3Jpem9u
dGFsbHkodGhpcy0+bG9naWNhbExlZnQoKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJu
IFdURk1vdmUobV9jb250ZW50KTsKKyAgICByZXR1cm4gV1RGTW92ZShtX3J1bkxpc3QpOwogfQog
CiB2b2lkIExpbmU6OnJlbW92ZVRyYWlsaW5nVHJpbW1hYmxlQ29udGVudCgpCkBAIC0yMTIsNyAr
MjExLDcgQEAgdm9pZCBMaW5lOjphcHBlbmQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwg
TGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiAKIHZvaWQgTGluZTo6YXBwZW5kTm9uQnJlYWthYmxl
U3BhY2UoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgY29uc3QgRGlzcGxheTo6UmVjdCYg
bG9naWNhbFJlY3QpCiB7Ci0gICAgbV9jb250ZW50LT5ydW5zKCkuYXBwZW5kKG1ha2VVbmlxdWU8
Q29udGVudDo6UnVuPihpbmxpbmVJdGVtLCBsb2dpY2FsUmVjdCkpOworICAgIG1fcnVuTGlzdC5h
cHBlbmQobWFrZVVuaXF1ZTxSdW4+KGlubGluZUl0ZW0sIGxvZ2ljYWxSZWN0KSk7CiAgICAgbV9s
aW5lQm94LmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsUmVjdC53aWR0aCgpKTsKIH0KIApAQCAt
MjUyLDEyICsyNTEsMTEgQEAgdm9pZCBMaW5lOjphcHBlbmRUZXh0Q29udGVudChjb25zdCBJbmxp
bmVUZXh0SXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBsb2dpY2EKICAgICAgICAgaWYgKCFp
c1RyaW1tYWJsZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgLy8gTGVhZGlu
ZyB3aGl0ZXNwYWNlLgotICAgICAgICBhdXRvJiBydW5zID0gbV9jb250ZW50LT5ydW5zKCk7Ci0g
ICAgICAgIGlmIChydW5zLmlzRW1wdHkoKSkKKyAgICAgICAgaWYgKG1fcnVuTGlzdC5pc0VtcHR5
KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGxh
c3QgaXRlbSBpcyB0cmltbWFibGUgYXMgd2VsbC4KLSAgICAgICAgZm9yIChpbnQgaW5kZXggPSBy
dW5zLnNpemUoKSAtIDE7IGluZGV4ID49IDA7IC0taW5kZXgpIHsKLSAgICAgICAgICAgIGF1dG8m
IHJ1biA9IHJ1bnNbaW5kZXhdOworICAgICAgICBmb3IgKGludCBpbmRleCA9IG1fcnVuTGlzdC5z
aXplKCkgLSAxOyBpbmRleCA+PSAwOyAtLWluZGV4KSB7CisgICAgICAgICAgICBhdXRvJiBydW4g
PSBtX3J1bkxpc3RbaW5kZXhdOwogICAgICAgICAgICAgaWYgKHJ1bi0+aXNCb3goKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAocnVuLT5pc1RleHQoKSkK
QEAgLTI4MCwxMiArMjc4LDEyIEBAIHZvaWQgTGluZTo6YXBwZW5kVGV4dENvbnRlbnQoY29uc3Qg
SW5saW5lVGV4dEl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhCiAgICAgICAgIGFk
anVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChpbmxpbmVJdGVtLCBydW5IZWlnaHQpOwogICAgIH0K
IAotICAgIGF1dG8gdGV4dENvbnRleHQgPSBDb250ZW50OjpSdW46OlRleHRDb250ZXh0IHsgaW5s
aW5lSXRlbS5zdGFydCgpLCBpbmxpbmVJdGVtLmlzQ29sbGFwc2VkKCkgPyAxIDogaW5saW5lSXRl
bS5sZW5ndGgoKSwgaXNDb21wbGV0ZWx5Q29sbGFwc2VkLCBpbmxpbmVJdGVtLmlzV2hpdGVzcGFj
ZSgpLCBjYW5CZUV4dGVuZGVkIH07Ci0gICAgYXV0byBsaW5lSXRlbSA9IG1ha2VVbmlxdWU8Q29u
dGVudDo6UnVuPihpbmxpbmVJdGVtLCB0ZXh0Q29udGV4dCwgbG9naWNhbFJlY3QpOworICAgIGF1
dG8gdGV4dENvbnRleHQgPSBSdW46OlRleHRDb250ZXh0IHsgaW5saW5lSXRlbS5zdGFydCgpLCBp
bmxpbmVJdGVtLmlzQ29sbGFwc2VkKCkgPyAxIDogaW5saW5lSXRlbS5sZW5ndGgoKSwgaXNDb21w
bGV0ZWx5Q29sbGFwc2VkLCBpbmxpbmVJdGVtLmlzV2hpdGVzcGFjZSgpLCBjYW5CZUV4dGVuZGVk
IH07CisgICAgYXV0byBsaW5lSXRlbSA9IG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCB0ZXh0
Q29udGV4dCwgbG9naWNhbFJlY3QpOwogICAgIGlmIChpc1RyaW1tYWJsZSAmJiAhaXNDb21wbGV0
ZWx5Q29sbGFwc2VkKQogICAgICAgICBtX3RyaW1tYWJsZUNvbnRlbnQuYWRkKGxpbmVJdGVtLmdl
dCgpKTsKIAotICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZChXVEZNb3ZlKGxpbmVJdGVtKSk7
CisgICAgbV9ydW5MaXN0LmFwcGVuZChXVEZNb3ZlKGxpbmVJdGVtKSk7CiAgICAgaWYgKCFpc0Nv
bXBsZXRlbHlDb2xsYXBzZWQpCiAgICAgICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9udGFsbHko
bG9naWNhbFdpZHRoKTsKIH0KQEAgLTMwMyw3ICszMDEsNyBAQCB2b2lkIExpbmU6OmFwcGVuZE5v
blJlcGxhY2VkSW5saW5lQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVu
aXQgbAogICAgICAgICBsb2dpY2FsUmVjdC5zZXRIZWlnaHQoaW5saW5lSXRlbUNvbnRlbnRIZWln
aHQoaW5saW5lSXRlbSkpOwogICAgIH0KIAotICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZCht
YWtlVW5pcXVlPENvbnRlbnQ6OlJ1bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3QpKTsKKyAgICBt
X3J1bkxpc3QuYXBwZW5kKG1ha2VVbmlxdWU8UnVuPihpbmxpbmVJdGVtLCBsb2dpY2FsUmVjdCkp
OwogICAgIG1fbGluZUJveC5leHBhbmRIb3Jpem9udGFsbHkobG9naWNhbFdpZHRoICsgaG9yaXpv
bnRhbE1hcmdpbi5zdGFydCArIGhvcml6b250YWxNYXJnaW4uZW5kKTsKICAgICBtX3RyaW1tYWJs
ZUNvbnRlbnQuY2xlYXIoKTsKIH0KQEAgLTMyMyw3ICszMjEsNyBAQCB2b2lkIExpbmU6OmFwcGVu
ZEhhcmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSkKICAgICAgICAgYWRq
dXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KGlubGluZUl0ZW0sIHsgfSk7CiAgICAgICAgIGxvZ2lj
YWxSZWN0LnNldEhlaWdodChsb2dpY2FsSGVpZ2h0KCkpOwogICAgIH0KLSAgICBtX2NvbnRlbnQt
PnJ1bnMoKS5hcHBlbmQobWFrZVVuaXF1ZTxDb250ZW50OjpSdW4+KGlubGluZUl0ZW0sIGxvZ2lj
YWxSZWN0KSk7CisgICAgbV9ydW5MaXN0LmFwcGVuZChtYWtlVW5pcXVlPFJ1bj4oaW5saW5lSXRl
bSwgbG9naWNhbFJlY3QpKTsKIH0KIAogdm9pZCBMaW5lOjphZGp1c3RCYXNlbGluZUFuZExpbmVI
ZWlnaHQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBydW5IZWlnaHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lLmgKaW5kZXggM2YwNWU4MDIwYjliMWZkZDE5OTBiZmZjOGQzYmEyOTI5Y2U3NmU2My4uNTM3
MGI4Y2ZiZmZmOWZhMTYyYTc2YTIzOGExYjczZGU0ZTI5YWQ2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaApAQCAtNTQsNTUg
KzU0LDYgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgU2tpcFZlcnRpY2FsQWxpZ21lbnQgeyBO
bywgWWVzIH07CiAgICAgTGluZShjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYsIGNvbnN0
IEluaXRpYWxDb25zdHJhaW50cyYsIFNraXBWZXJ0aWNhbEFsaWdtZW50KTsKIAotICAgIGNsYXNz
IENvbnRlbnQgewotICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIHN0cnVjdCBSdW4gewotICAgICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1Rf
QUxMT0NBVEVEOwotICAgICAgICAgICAgc3RydWN0IFRleHRDb250ZXh0IHsKLSAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBzdGFydCB7IDAgfTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZW5n
dGggeyAwIH07Ci0gICAgICAgICAgICAgICAgYm9vbCBpc0NvbGxhcHNlZCB7IGZhbHNlIH07Ci0g
ICAgICAgICAgICAgICAgYm9vbCBpc1doaXRlc3BhY2UgeyBmYWxzZSB9OwotICAgICAgICAgICAg
ICAgIGJvb2wgY2FuQmVFeHRlbmRlZCB7IGZhbHNlIH07Ci0gICAgICAgICAgICB9OwotICAgICAg
ICAgICAgUnVuKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBEaXNwbGF5OjpSZWN0Jik7Ci0gICAg
ICAgICAgICBSdW4oY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IFRleHRDb250ZXh0JiwgY29uc3Qg
RGlzcGxheTo6UmVjdCYpOwotCi0gICAgICAgICAgICBjb25zdCBCb3gmIGxheW91dEJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94OyB9Ci0gICAgICAgICAgICBjb25zdCBEaXNwbGF5OjpS
ZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7IH0KLSAgICAg
ICAgICAgIGNvbnN0IE9wdGlvbmFsPFRleHRDb250ZXh0PiB0ZXh0Q29udGV4dCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dENvbnRleHQ7IH0KLSAgICAgICAgICAgIElubGluZUl0ZW06OlR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgICAgICAgICBib29sIGlzVGV4dCgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpUZXh0OyB9Ci0gICAg
ICAgICAgICBib29sIGlzQm94KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IElubGluZUl0ZW06
OlR5cGU6OkJveDsgfQotICAgICAgICAgICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpIYXJkTGluZUJyZWFrOyB9Ci0gICAgICAg
ICAgICBib29sIGlzQ29udGFpbmVyU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5s
aW5lSXRlbTo6VHlwZTo6Q29udGFpbmVyU3RhcnQ7IH0KLSAgICAgICAgICAgIGJvb2wgaXNDb250
YWluZXJFbmQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5saW5lSXRlbTo6VHlwZTo6Q29u
dGFpbmVyRW5kOyB9Ci0KLSAgICAgICAgcHJpdmF0ZToKLSAgICAgICAgICAgIGZyaWVuZCBjbGFz
cyBMaW5lOwotICAgICAgICAgICAgdm9pZCBhZGp1c3RMb2dpY2FsVG9wKExheW91dFVuaXQgbG9n
aWNhbFRvcCkgeyBtX2xvZ2ljYWxSZWN0LnNldFRvcChsb2dpY2FsVG9wKTsgfQotICAgICAgICAg
ICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0
Lm1vdmVWZXJ0aWNhbGx5KG9mZnNldCk7IH0KLSAgICAgICAgICAgIHZvaWQgbW92ZUhvcml6b250
YWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFsbHko
b2Zmc2V0KTsgfQotICAgICAgICAgICAgdm9pZCBzZXRUZXh0SXNDb2xsYXBzZWQoKSB7IG1fdGV4
dENvbnRleHQtPmlzQ29sbGFwc2VkID0gdHJ1ZTsgfQotCi0gICAgICAgICAgICBjb25zdCBCb3gm
IG1fbGF5b3V0Qm94OwotICAgICAgICAgICAgY29uc3QgSW5saW5lSXRlbTo6VHlwZSBtX3R5cGU7
Ci0gICAgICAgICAgICBEaXNwbGF5OjpSZWN0IG1fbG9naWNhbFJlY3Q7Ci0gICAgICAgICAgICBP
cHRpb25hbDxUZXh0Q29udGV4dD4gbV90ZXh0Q29udGV4dDsKLSAgICAgICAgfTsKLSAgICAgICAg
dXNpbmcgUnVucyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8UnVuPj47Ci0gICAgICAgIGNvbnN0
IFJ1bnMmIHJ1bnMoKSBjb25zdCB7IHJldHVybiBtX3J1bnM7IH0KLQotICAgIHByaXZhdGU6Ci0g
ICAgICAgIGZyaWVuZCBjbGFzcyBMaW5lOwotICAgICAgICBSdW5zJiBydW5zKCkgeyByZXR1cm4g
bV9ydW5zOyB9Ci0KLSAgICAgICAgUnVucyBtX3J1bnM7Ci0gICAgfTsKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q29udGVudD4gY2xvc2UoKTsKLQogICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0
ZW0mLCBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCk7CiAgICAgYm9vbCBoYXNDb250ZW50KCkgY29u
c3QgeyByZXR1cm4gIWlzVmlzdWFsbHlFbXB0eSgpOyB9CiAgICAgTGF5b3V0VW5pdCBhdmFpbGFi
bGVXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgpIC0gY29udGVudExvZ2ljYWxX
aWR0aCgpOyB9CkBAIC0xMTMsNiArNjQsNDQgQEAgcHVibGljOgogICAgIHZvaWQgbW92ZUxvZ2lj
YWxMZWZ0KExheW91dFVuaXQpOwogICAgIHZvaWQgbW92ZUxvZ2ljYWxSaWdodChMYXlvdXRVbml0
KTsKIAorICAgIHN0cnVjdCBSdW4geworICAgICAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExP
Q0FURUQ7CisgICAgICAgIHN0cnVjdCBUZXh0Q29udGV4dCB7CisgICAgICAgICAgICB1bnNpZ25l
ZCBzdGFydCB7IDAgfTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCB7IDAgfTsKKyAgICAg
ICAgICAgIGJvb2wgaXNDb2xsYXBzZWQgeyBmYWxzZSB9OworICAgICAgICAgICAgYm9vbCBpc1do
aXRlc3BhY2UgeyBmYWxzZSB9OworICAgICAgICAgICAgYm9vbCBjYW5CZUV4dGVuZGVkIHsgZmFs
c2UgfTsKKyAgICAgICAgfTsKKyAgICAgICAgUnVuKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBE
aXNwbGF5OjpSZWN0Jik7CisgICAgICAgIFJ1bihjb25zdCBJbmxpbmVJdGVtJiwgY29uc3QgVGV4
dENvbnRleHQmLCBjb25zdCBEaXNwbGF5OjpSZWN0Jik7CisKKyAgICAgICAgY29uc3QgQm94JiBs
YXlvdXRCb3goKSBjb25zdCB7IHJldHVybiBtX2xheW91dEJveDsgfQorICAgICAgICBjb25zdCBE
aXNwbGF5OjpSZWN0JiBsb2dpY2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7
IH0KKyAgICAgICAgY29uc3QgT3B0aW9uYWw8VGV4dENvbnRleHQ+IHRleHRDb250ZXh0KCkgY29u
c3QgeyByZXR1cm4gbV90ZXh0Q29udGV4dDsgfQorICAgICAgICBJbmxpbmVJdGVtOjpUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKworICAgICAgICBib29sIGlzVGV4dCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpUZXh0OyB9CisgICAgICAg
IGJvb2wgaXNCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5saW5lSXRlbTo6VHlwZTo6
Qm94OyB9CisgICAgICAgIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gSW5saW5lSXRlbTo6VHlwZTo6SGFyZExpbmVCcmVhazsgfQorICAgICAgICBib29sIGlzQ29u
dGFpbmVyU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gSW5saW5lSXRlbTo6VHlwZTo6
Q29udGFpbmVyU3RhcnQ7IH0KKyAgICAgICAgYm9vbCBpc0NvbnRhaW5lckVuZCgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpDb250YWluZXJFbmQ7IH0KKworICAg
IHByaXZhdGU6CisgICAgICAgIGZyaWVuZCBjbGFzcyBMaW5lOworICAgICAgICB2b2lkIGFkanVz
dExvZ2ljYWxUb3AoTGF5b3V0VW5pdCBsb2dpY2FsVG9wKSB7IG1fbG9naWNhbFJlY3Quc2V0VG9w
KGxvZ2ljYWxUb3ApOyB9CisgICAgICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoTGF5b3V0VW5pdCBv
ZmZzZXQpIHsgbV9sb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOyB9CisgICAgICAg
IHZvaWQgbW92ZUhvcml6b250YWxseShMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0
Lm1vdmVIb3Jpem9udGFsbHkob2Zmc2V0KTsgfQorICAgICAgICB2b2lkIHNldFRleHRJc0NvbGxh
cHNlZCgpIHsgbV90ZXh0Q29udGV4dC0+aXNDb2xsYXBzZWQgPSB0cnVlOyB9CisKKyAgICAgICAg
Y29uc3QgQm94JiBtX2xheW91dEJveDsKKyAgICAgICAgY29uc3QgSW5saW5lSXRlbTo6VHlwZSBt
X3R5cGU7CisgICAgICAgIERpc3BsYXk6OlJlY3QgbV9sb2dpY2FsUmVjdDsKKyAgICAgICAgT3B0
aW9uYWw8VGV4dENvbnRleHQ+IG1fdGV4dENvbnRleHQ7CisgICAgfTsKKyAgICB1c2luZyBSdW5M
aXN0ID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxSdW4+PjsKKyAgICBSdW5MaXN0IGNsb3NlKCk7
CisKICAgICBzdGF0aWMgTGluZUJveDo6QmFzZWxpbmUgaGFsZkxlYWRpbmdNZXRyaWNzKGNvbnN0
IEZvbnRNZXRyaWNzJiwgTGF5b3V0VW5pdCBsaW5lTG9naWNhbEhlaWdodCk7CiAKIHByaXZhdGU6
CkBAIC0xNDcsOCArMTM2LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdDsgCiAKICAgICBjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8Q29udGVudD4gbV9jb250ZW50OwotICAgIExpc3RIYXNoU2V0PENvbnRlbnQ6OlJ1
bio+IG1fdHJpbW1hYmxlQ29udGVudDsKKyAgICBSdW5MaXN0IG1fcnVuTGlzdDsKKyAgICBMaXN0
SGFzaFNldDxSdW4qPiBtX3RyaW1tYWJsZUNvbnRlbnQ7CiAKICAgICBPcHRpb25hbDxMaW5lQm94
OjpCYXNlbGluZT4gbV9pbml0aWFsU3RydXQ7CiAgICAgTGF5b3V0VW5pdCBtX2xpbmVMb2dpY2Fs
V2lkdGg7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>