<?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>278828</bug_id>
          
          <creation_ts>2024-08-28 17:20:17 -0700</creation_ts>
          <short_desc>[css-line-clamp] Rename LineEndingEllipsisPolicy to LineEndingTruncationPolicy</short_desc>
          <delta_ts>2024-10-29 18:05:26 -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>
          
          <blocked>206748</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</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>2056128</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-08-28 17:20:17 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2056130</commentid>
    <comment_count>1</comment_count>
      <attachid>472339</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-08-28 17:23:58 -0700</bug_when>
    <thetext>Created attachment 472339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2056131</commentid>
    <comment_count>2</comment_count>
      <attachid>472340</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-08-28 17:31:39 -0700</bug_when>
    <thetext>Created attachment 472340
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2056457</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-08-29 20:58:54 -0700</bug_when>
    <thetext>Committed 282947@main (16b9e3e6d6e1): &lt;https://commits.webkit.org/282947@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 472340.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2056458</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-08-29 20:59:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/134989795&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>472339</attachid>
            <date>2024-08-28 17:23:58 -0700</date>
            <delta_ts>2024-08-28 17:31:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-278828-20240828172355.patch</filename>
            <type>text/plain</type>
            <size>20294</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhODc2MmMzMzRjZTFiYmFkZTk3MWM3NTc5OGZhOGE3NDQ1N2QwNDM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMjggQXVnIDIwMjQgMTc6MjA6MzIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY3NzLWxp
bmUtY2xhbXBdIFJlbmFtZSBMaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3kgdG8KIExpbmVFbmRpbmdU
cnVuY2F0aW9uUG9saWN5IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Nzg4MjgKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhpcyBpcyBpbiBwcmVwYXJhdGlv
biBmb3Igc3VwcG9ydGluZyBsaW5lLWNsYW1wLiBXaXRoICJibG9jay1lbGxpcHNpcyIgaW4gZWZm
ZWN0ICJlbGxpcHNpcyBwb2xpY3kiIGRvZXMgbm90IGFsd2F5cyByZXN1bHQgaW4gZWxsaXBzaXMu
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudCk6CiogU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z1V0aWxzLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5l
RW5kaW5nVHJ1bmNhdGlvblBvbGljeSk6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRp
bmdVdGlsczo6bGluZUVuZGluZ0VsbGlwc2lzUG9saWN5KTogRGVsZXRlZC4KKiBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRp
bHMuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lVHlwZXMuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5l
RGlzcGxheUxpbmUuaDoKKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkxpbmU6OmlzRnVsbHlUcnVu
Y2F0ZWRJbkJsb2NrRGlyZWN0aW9uIGNvbnN0KToKKFdlYkNvcmU6OklubGluZURpc3BsYXk6Okxp
bmU6OkxpbmUpOgooV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6TGluZTo6dmlzaWJsZVJlY3RJZ25v
cmluZ0Jsb2NrRGlyZWN0aW9uIGNvbnN0KToKKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkxpbmU6
OmlzVHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0Ojp0cnVuY2F0ZU92ZXJmbG93aW5n
RGlzcGxheUJveGVzKToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUxpbmVCdWlsZGVy
Ojp0cmFpbGluZ0VsbGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNhdGlvbik6CihXZWJDb3JlOjpM
YXlvdXQ6Om1ha2VSb29tRm9yTGlua0JveE9uQ2xhbXBlZExpbmVJZk5lZWRlZCk6CiogU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
aW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y2xhbXBlZENvbnRlbnRMb2dpY2FsSGVpZ2h0IGNvbnN0
KToKLS0tCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAgICAgICAgfCAg
NCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuY3BwICAgICAgICAgIHwgIDgg
KystLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaCAgICAgICAgICAgIHwgIDIg
Ky0KIC4uLi9pbmxpbmUvSW5saW5lTGluZVR5cGVzLmggICAgICAgICAgICAgICAgICB8ICA4ICsr
LS0KIC4uLi9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oICAgICB8ICA0ICst
CiAuLi4vaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmUuaCAgICAgICAgfCAgOCArKy0t
CiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwICAgICAgfCAzNyArKysr
KysrKy0tLS0tLS0tLS0tCiAuLi4vaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWls
ZGVyLmggfCAgMiArLQogLi4uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3Bw
ICAgIHwgIDIgKy0KIDkgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwCmluZGV4IDljYmQxODgwNWExNy4uNjM5ZGM2M2JiMmRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0zOTEsMTAgKzM5MSwxMCBA
QCBJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVEaXNwbGF5Q29udGVu
dEZvcklubGluZUNvbnRlbnQoY29uc3QgTAogICAgIGF1dG8gZGlzcGxheUxpbmUgPSBJbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIgeyAqdGhpcywgY29uc3RyYWludHMgfS5idWlsZChsaW5lTGF5b3V0
UmVzdWx0LCBsaW5lQm94LCBsaW5lSXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24pOwog
ICAgIGF1dG8gYm94ZXMgPSBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIgeyAqdGhpcywgY29u
c3RyYWludHMsIGxpbmVCb3gsIGRpc3BsYXlMaW5lIH0uYnVpbGQobGluZUxheW91dFJlc3VsdCk7
CiAKLSAgICBhdXRvIGVsbGlwc2lzUG9saWN5ID0gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5l
RW5kaW5nRWxsaXBzaXNQb2xpY3kocm9vdCgpLnN0eWxlKCksIG51bWJlck9mTGluZXNXaXRoSW5s
aW5lQ29udGVudCwgbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkKTsKKyAgICBhdXRvIGVsbGlw
c2lzUG9saWN5ID0gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5lRW5kaW5nVHJ1bmNhdGlvblBv
bGljeShyb290KCkuc3R5bGUoKSwgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50LCBudW1i
ZXJPZlZpc2libGVMaW5lc0FsbG93ZWQpOwogICAgIGlmIChhdXRvIGVsbGlwc2lzUmVjdCA9IElu
bGluZURpc3BsYXlMaW5lQnVpbGRlcjo6dHJhaWxpbmdFbGxpcHNpc1Zpc3VhbFJlY3RBZnRlclRy
dW5jYXRpb24oZWxsaXBzaXNQb2xpY3ksIGRpc3BsYXlMaW5lLCBib3hlcywgbGluZUxheW91dFJl
c3VsdC5pc0ZpcnN0TGFzdC5pc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpKSB7CiAgICAgICAg
IGRpc3BsYXlMaW5lLnNldEVsbGlwc2lzVmlzdWFsUmVjdCgqZWxsaXBzaXNSZWN0KTsKLSAgICAg
ICAgaWYgKGVsbGlwc2lzUG9saWN5ID09IExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNv
bnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uKQorICAgICAgICBpZiAoZWxsaXBzaXNQb2xp
Y3kgPT0gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5C
bG9ja0RpcmVjdGlvbikKICAgICAgICAgICAgIGxheW91dFN0YXRlKCkuc2V0Q2xhbXBlZExpbmVJ
bmRleChsaW5lQm94LmxpbmVJbmRleCgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdV
dGlscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuY3BwCmluZGV4IGRlMmEwYWYxMTkyNi4uYmRlNDQ0MTgx
YmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAK
QEAgLTU5NywxNSArNTk3LDE1IEBAIHN0ZDo6cGFpcjxJbmxpbmVMYXlvdXRVbml0LCBJbmxpbmVM
YXlvdXRVbml0PiBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OnRleHRFbXBoYXNpCiAgICAgcmV0dXJu
IHsgaGFzQWJvdmVUZXh0RW1waGFzaXMgPyBhbm5vdGF0aW9uU2l6ZSA6IDAuZiwgaGFzQWJvdmVU
ZXh0RW1waGFzaXMgPyAwLmYgOiBhbm5vdGF0aW9uU2l6ZSB9OwogfQogCi1MaW5lRW5kaW5nRWxs
aXBzaXNQb2xpY3kgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5lRW5kaW5nRWxsaXBzaXNQb2xp
Y3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRo
SW5saW5lQ29udGVudCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVz
QWxsb3dlZCkKK0xpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IElubGluZUZvcm1hdHRpbmdVdGls
czo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHls
ZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCwgc3RkOjpvcHRpb25hbDxz
aXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCkKIHsKICAgICBpZiAobnVtYmVyT2ZW
aXNpYmxlTGluZXNBbGxvd2VkICYmICpudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQgPT0gbnVt
YmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50KQotICAgICAgICByZXR1cm4gTGluZUVuZGluZ0Vs
bGlwc2lzUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rpb247CisgICAg
ICAgIHJldHVybiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxv
d3NJbkJsb2NrRGlyZWN0aW9uOwogCiAgICAgLy8gVHJ1bmNhdGlvbiBpcyBpbiBlZmZlY3Qgd2hl
biB0aGUgYmxvY2sgY29udGFpbmVyIGhhcyBvdmVyZmxvdyBvdGhlciB0aGFuIHZpc2libGUuCiAg
ICAgaWYgKHJvb3RTdHlsZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSAmJiByb290
U3R5bGUudGV4dE92ZXJmbG93KCkgPT0gVGV4dE92ZXJmbG93OjpFbGxpcHNpcykKLSAgICAgICAg
cmV0dXJuIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbklu
bGluZURpcmVjdGlvbjsKLSAgICByZXR1cm4gTGluZUVuZGluZ0VsbGlwc2lzUG9saWN5OjpOb0Vs
bGlwc2lzOworICAgICAgICByZXR1cm4gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5D
b250ZW50T3ZlcmZsb3dzSW5JbmxpbmVEaXJlY3Rpb247CisgICAgcmV0dXJuIExpbmVFbmRpbmdU
cnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb247CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgKaW5kZXggYzQ4MTY5YWNmMWY5Li5lOWVhZTVmZmRi
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5oCkBAIC02
Niw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzdGQ6OnBhaXI8SW5saW5lTGF5b3V0
VW5pdCwgSW5saW5lTGF5b3V0VW5pdD4gdGV4dEVtcGhhc2lzRm9ySW5saW5lQm94KGNvbnN0IEJv
eCYsIGNvbnN0IEVsZW1lbnRCb3gmIHJvb3RCb3gpOwogCi0gICAgc3RhdGljIExpbmVFbmRpbmdF
bGxpcHNpc1BvbGljeSBsaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3koY29uc3QgUmVuZGVyU3R5bGUm
IHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCwgc3RkOjpv
cHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCk7CisgICAgc3RhdGlj
IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IGxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNv
bnN0IFJlbmRlclN0eWxlJiByb290U3R5bGUsIHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGlu
ZUNvbnRlbnQsIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93
ZWQpOwogCiBwcml2YXRlOgogICAgIElubGluZUxheW91dFVuaXQgY29udGVudExlZnRBZnRlckxh
c3RMaW5lKGNvbnN0IENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCYsIHN0ZDo6b3B0aW9uYWw8
SW5saW5lTGF5b3V0VW5pdD4gbGFzdExpbmVMb2dpY2FsQm90dG9tLCBjb25zdCBGbG9hdGluZ0Nv
bnRleHQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVR5cGVzLmgKaW5kZXggMzRi
MWRiNGU5OTI4Li4zYjI4YzVlN2NjOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVUeXBlcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVUeXBl
cy5oCkBAIC0zMiwxMiArMzIsMTAgQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIGNsYXNzIElubGlu
ZUl0ZW07CiAKLWVudW0gY2xhc3MgTGluZUVuZGluZ0VsbGlwc2lzUG9saWN5IDogdWludDhfdCB7
Ci0gICAgTm9FbGxpcHNpcywKK2VudW0gY2xhc3MgTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kg
OiB1aW50OF90IHsKKyAgICBOb1RydW5jYXRpb24sCiAgICAgV2hlbkNvbnRlbnRPdmVyZmxvd3NJ
bklubGluZURpcmVjdGlvbiwKLSAgICBXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rp
b24sCi0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHVzZWQgd2hlbiB3ZSByZWFsaXplIHRo
ZSBsYXN0IGxpbmUgb2YgdGhpcyBJRkMgaXMgd2hlcmUgdGhlIGNvbnRlbnQgaXMgdHJ1bmNhdGVk
IChzaWJsaW5nIElGQyBoYXMgbW9yZSBsaW5lcykuCi0gICAgQWx3YXlzCisgICAgV2hlbkNvbnRl
bnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uCiB9OwogCiBzdHJ1Y3QgRXhwYW5zaW9uSW5mbyB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXIuaAppbmRleCBmOGJjY2MwOTA0NDcuLmY2NzA2ZWRlZWQ3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250
ZW50QnVpbGRlci5oCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNz
QmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91dFJlc3VsdCYsIElubGluZURpc3BsYXk6OkJveGVz
Jik7CiAgICAgdm9pZCBjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxpbmVCb3hlcyhJbmxpbmVEaXNw
bGF5OjpCb3hlcyYpOwogICAgIHZvaWQgY29sbGVjdElua092ZXJmbG93Rm9yVGV4dERlY29yYXRp
b25zKElubGluZURpc3BsYXk6OkJveGVzJik7Ci0gICAgdm9pZCB0cnVuY2F0ZUZvckVsbGlwc2lz
UG9saWN5KExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSwgY29uc3QgTGluZUxheW91dFJlc3VsdCYs
IElubGluZURpc3BsYXk6OkJveGVzJik7CisgICAgdm9pZCB0cnVuY2F0ZUZvckVsbGlwc2lzUG9s
aWN5KExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5LCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0Jiwg
SW5saW5lRGlzcGxheTo6Qm94ZXMmKTsKIAogICAgIHZvaWQgYXBwZW5kVGV4dERpc3BsYXlCb3go
Y29uc3QgTGluZTo6UnVuJiwgY29uc3QgSW5saW5lUmVjdCYsIElubGluZURpc3BsYXk6OkJveGVz
Jik7CiAgICAgdm9pZCBhcHBlbmRTb2Z0TGluZUJyZWFrRGlzcGxheUJveChjb25zdCBMaW5lOjpS
dW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgSW5saW5lRGlzcGxheTo6Qm94ZXMmKTsKQEAgLTkzLDcg
KzkzLDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBMaW5lQm94JiBtX2xpbmVCb3g7CiAgICAgY29u
c3QgSW5saW5lRGlzcGxheTo6TGluZSYgbV9kaXNwbGF5TGluZTsKICAgICBJbnRTaXplIG1faW5p
dGlhbENvbnRhaW5nQmxvY2tTaXplOwotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB0YWtlIERp
c3BsYXlMaW5lOjppc1RydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24oKSBmb3Igbm9uLXByZWZpeGVk
IGxpbmUtY2xhbXAuCisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHRha2UgRGlzcGxheUxpbmU6
OmlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKCkgZm9yIG5vbi1wcmVmaXhlZCBsaW5l
LWNsYW1wLgogICAgIGJvb2wgbV9saW5lSXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24g
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9jb250ZW50SGFzSW5rT3ZlcmZsb3cgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9oYXNTZWVuUnVieUJhc2UgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZS5oCmluZGV4IDM5YzM3YzgyNmJkYy4uODJk
NTAzNWQwYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5TGluZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzSG9yaXpvbnRh
bCgpIGNvbnN0IHsgcmV0dXJuIG1faXNIb3Jpem9udGFsOyB9CiAgICAgYm9vbCBpc0xlZnRUb1Jp
Z2h0SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uOyB9CiAKLSAgICBib29sIGlzVHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1faXNUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uOyB9CisgICAgYm9vbCBpc0Z1bGx5
VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNGdWxseVRydW5j
YXRlZEluQmxvY2tEaXJlY3Rpb247IH0KIAogICAgIGJvb2wgaGFzRWxsaXBzaXMoKSBjb25zdCB7
IHJldHVybiBtX2VsbGlwc2lzVmlzdWFsUmVjdC5oYXNfdmFsdWUoKTsgfQogICAgIHN0ZDo6b3B0
aW9uYWw8RmxvYXRSZWN0PiBlbGxpcHNpc1Zpc3VhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2Vs
bGlwc2lzVmlzdWFsUmVjdDsgfQpAQCAtMTI5LDcgKzEyOSw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2lzTGVmdFRvUmlnaHREaXJlY3Rpb24gOiAxIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0hv
cml6b250YWwgOiAxIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0ZpcnN0QWZ0ZXJQYWdlQnJlYWsg
OiAxIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uIDog
MSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9u
IDogMSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc0NvbnRlbnRBZnRlckVsbGlwc2lzQm94IDog
MSB7IGZhbHNlIH07CiAgICAgLy8gVGhpcyBpcyB2aXN1YWwgcmVjdCBpZ25vcmluZyBibG9jayBk
aXJlY3Rpb24uCiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IG1fZWxsaXBzaXNWaXN1YWxS
ZWN0IHsgfTsKQEAgLTE0Nyw3ICsxNDcsNyBAQCBpbmxpbmUgTGluZTo6TGluZShjb25zdCBGbG9h
dFJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBsaW5lQm94UgogICAg
ICwgbV9iYXNlbGluZVR5cGUoYmFzZWxpbmVUeXBlKQogICAgICwgbV9pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24pCiAgICAgLCBtX2lzSG9yaXpvbnRhbChpc0hv
cml6b250YWwpCi0gICAgLCBtX2lzVHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbihpc1RydW5jYXRl
ZEluQmxvY2tEaXJlY3Rpb24pCisgICAgLCBtX2lzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0
aW9uKGlzVHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbikKIHsKIH0KIApAQCAtMTc0LDcgKzE3NCw3
IEBAIGlubGluZSB2b2lkIExpbmU6Om1vdmVJbkJsb2NrRGlyZWN0aW9uKGZsb2F0IG9mZnNldCwg
Ym9vbCBpc0hvcml6b250YWxXcml0aW5nTW9kCiAKIGlubGluZSBGbG9hdFJlY3QgTGluZTo6dmlz
aWJsZVJlY3RJZ25vcmluZ0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QKIHsKLSAgICBpZiAobV9pc1Ry
dW5jYXRlZEluQmxvY2tEaXJlY3Rpb24pCisgICAgaWYgKG1faXNGdWxseVRydW5jYXRlZEluQmxv
Y2tEaXJlY3Rpb24pCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgaWYgKCFoYXNFbGxpcHNpcygp
IHx8IGhhc0NvbnRlbnRBZnRlckVsbGlwc2lzQm94KCkpCiAgICAgICAgIHJldHVybiBtX2lua092
ZXJmbG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIuY3BwCmluZGV4IGQwZDY4NjAzYTVlNy4uZDM2ZDY0ZjczMmI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5
TGluZUJ1aWxkZXIuY3BwCkBAIC0yMjUsNyArMjI1LDcgQEAgc3RhdGljIGZsb2F0IHRydW5jYXRl
KElubGluZURpc3BsYXk6OkJveCYgZGlzcGxheUJveCwgZmxvYXQgY29udGVudFdpZHRoLCBmbG9h
dAogICAgIHJldHVybiBjb250ZW50V2lkdGg7CiB9CiAKLXN0YXRpYyBmbG9hdCB0cnVuY2F0ZU92
ZXJmbG93aW5nRGlzcGxheUJveGVzKElubGluZURpc3BsYXk6OkJveGVzJiBib3hlcywgc2l6ZV90
IHN0YXJ0SW5kZXgsIHNpemVfdCBlbmRJbmRleCwgZmxvYXQgbGluZUJveFZpc3VhbExlZnQsIGZs
b2F0IGxpbmVCb3hWaXN1YWxSaWdodCwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgY29uc3QgUmVuZGVy
U3R5bGUmIHJvb3RTdHlsZSwgTGluZUVuZGluZ0VsbGlwc2lzUG9saWN5IGxpbmVFbmRpbmdFbGxp
cHNpc1BvbGljeSkKK3N0YXRpYyBmbG9hdCB0cnVuY2F0ZU92ZXJmbG93aW5nRGlzcGxheUJveGVz
KElubGluZURpc3BsYXk6OkJveGVzJiBib3hlcywgc2l6ZV90IHN0YXJ0SW5kZXgsIHNpemVfdCBl
bmRJbmRleCwgZmxvYXQgbGluZUJveFZpc3VhbExlZnQsIGZsb2F0IGxpbmVCb3hWaXN1YWxSaWdo
dCwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgTGlu
ZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpCiB7CiAg
ICAgQVNTRVJUKGVuZEluZGV4ICYmIHN0YXJ0SW5kZXggPD0gZW5kSW5kZXgpOwogICAgIC8vIFdl
IGdvdHRhIHRydW5jYXRlIHNvbWUgcnVucy4KQEAgLTI1OSw3ICsyNTksNyBAQCBzdGF0aWMgZmxv
YXQgdHJ1bmNhdGVPdmVyZmxvd2luZ0Rpc3BsYXlCb3hlcyhJbmxpbmVEaXNwbGF5OjpCb3hlcyYg
Ym94ZXMsIHNpemVfdAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaXNGaXJzdENvbnRlbnRS
dW4gPSBmYWxzZTsKICAgICAgICAgfQotICAgICAgICBBU1NFUlRfVU5VU0VEKGxpbmVFbmRpbmdF
bGxpcHNpc1BvbGljeSwgbGluZUVuZGluZ0VsbGlwc2lzUG9saWN5ICE9IExpbmVFbmRpbmdFbGxp
cHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbklubGluZURpcmVjdGlvbiB8fCB0cnVu
Y2F0ZVJpZ2h0Lmhhc192YWx1ZSgpIHx8IHJpZ2h0KGJveGVzLmxhc3QoKSkgPT0gdmlzdWFsUmln
aHRGb3JDb250ZW50RW5kIHx8IGJveGVzLmxhc3QoKS5pc0lubGluZUJveCgpKTsKKyAgICAgICAg
QVNTRVJUX1VOVVNFRChsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSwgbGluZUVuZGluZ1RydW5j
YXRpb25Qb2xpY3kgIT0gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3Zl
cmZsb3dzSW5JbmxpbmVEaXJlY3Rpb24gfHwgdHJ1bmNhdGVSaWdodC5oYXNfdmFsdWUoKSB8fCBy
aWdodChib3hlcy5sYXN0KCkpID09IHZpc3VhbFJpZ2h0Rm9yQ29udGVudEVuZCB8fCBib3hlcy5s
YXN0KCkuaXNJbmxpbmVCb3goKSk7CiAgICAgICAgIHJldHVybiB0cnVuY2F0ZVJpZ2h0LnZhbHVl
X29yKHJpZ2h0KGJveGVzLmxhc3QoKSkpOwogICAgIH0KIApAQCAtMjgwLDMzICsyODAsMjkgQEAg
c3RhdGljIGZsb2F0IHRydW5jYXRlT3ZlcmZsb3dpbmdEaXNwbGF5Qm94ZXMoSW5saW5lRGlzcGxh
eTo6Qm94ZXMmIGJveGVzLCBzaXplX3QKICAgICAgICAgfQogICAgICAgICBpc0ZpcnN0Q29udGVu
dFJ1biA9IGZhbHNlOwogICAgIH0KLSAgICBBU1NFUlRfVU5VU0VEKGxpbmVFbmRpbmdFbGxpcHNp
c1BvbGljeSwgbGluZUVuZGluZ0VsbGlwc2lzUG9saWN5ICE9IExpbmVFbmRpbmdFbGxpcHNpc1Bv
bGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbklubGluZURpcmVjdGlvbiB8fCB0cnVuY2F0ZUxl
ZnQuaGFzX3ZhbHVlKCkgfHwgbGVmdChib3hlcy5maXJzdCgpKSA9PSB2aXN1YWxMZWZ0Rm9yQ29u
dGVudEVuZCk7CisgICAgQVNTRVJUX1VOVVNFRChsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSwg
bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgIT0gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6
OldoZW5Db250ZW50T3ZlcmZsb3dzSW5JbmxpbmVEaXJlY3Rpb24gfHwgdHJ1bmNhdGVMZWZ0Lmhh
c192YWx1ZSgpIHx8IGxlZnQoYm94ZXMuZmlyc3QoKSkgPT0gdmlzdWFsTGVmdEZvckNvbnRlbnRF
bmQpOwogICAgIHJldHVybiB0cnVuY2F0ZUxlZnQudmFsdWVfb3IobGVmdChib3hlcy5maXJzdCgp
KSkgLSBlbGxpcHNpc1dpZHRoOwogfQogCi1zdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gSW5saW5l
RGlzcGxheUxpbmVCdWlsZGVyOjp0cmFpbGluZ0VsbGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNh
dGlvbihMaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3kgbGluZUVuZGluZ0VsbGlwc2lzUG9saWN5LCBj
b25zdCBJbmxpbmVEaXNwbGF5OjpMaW5lJiBkaXNwbGF5TGluZSwgSW5saW5lRGlzcGxheTo6Qm94
ZXMmIGRpc3BsYXlCb3hlcywgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpCitzdGQ6
Om9wdGlvbmFsPEZsb2F0UmVjdD4gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjp0cmFpbGluZ0Vs
bGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNhdGlvbihMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGlj
eSBsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSwgY29uc3QgSW5saW5lRGlzcGxheTo6TGluZSYg
ZGlzcGxheUxpbmUsIElubGluZURpc3BsYXk6OkJveGVzJiBkaXNwbGF5Qm94ZXMsIGJvb2wgaXNM
YXN0TGluZVdpdGhJbmxpbmVDb250ZW50KQogewogICAgIGlmIChkaXNwbGF5Qm94ZXMuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBjb250ZW50TmVlZHNFbGxpcHNp
cyA9IFsmXSB7Ci0gICAgICAgIHN3aXRjaCAobGluZUVuZGluZ0VsbGlwc2lzUG9saWN5KSB7Ci0g
ICAgICAgIGNhc2UgTGluZUVuZGluZ0VsbGlwc2lzUG9saWN5OjpOb0VsbGlwc2lzOgorICAgIGF1
dG8gaXNUcnVuY2F0ZWRBcHBsaWNhYmxlID0gWyZdIHsKKyAgICAgICAgc3dpdGNoIChsaW5lRW5k
aW5nVHJ1bmNhdGlvblBvbGljeSkgeworICAgICAgICBjYXNlIExpbmVFbmRpbmdUcnVuY2F0aW9u
UG9saWN5OjpOb1RydW5jYXRpb246CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IGNhc2UgTGluZUVuZGluZ0VsbGlwc2lzUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luSW5s
aW5lRGlyZWN0aW9uOgorICAgICAgICBjYXNlIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpX
aGVuQ29udGVudE92ZXJmbG93c0luSW5saW5lRGlyZWN0aW9uOgogICAgICAgICAgICAgcmV0dXJu
IGRpc3BsYXlMaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSAmJiBkaXNwbGF5TGluZS5jb250ZW50
TG9naWNhbFdpZHRoKCkgPiBkaXNwbGF5TGluZS5saW5lQm94TG9naWNhbFJlY3QoKS53aWR0aCgp
OwotICAgICAgICBjYXNlIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVy
Zmxvd3NJbkJsb2NrRGlyZWN0aW9uOgotICAgICAgICAgICAgaWYgKGlzTGFzdExpbmVXaXRoSW5s
aW5lQ29udGVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBG
QUxMVEhST1VHSDsKLSAgICAgICAgY2FzZSBMaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3k6OkFsd2F5
czoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBjYXNlIExpbmVFbmRpbmdUcnVu
Y2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rpb246CisgICAg
ICAgICAgICByZXR1cm4gIWlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudDsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgfTsKLSAgICBpZiAoIWNvbnRlbnROZWVkc0VsbGlw
c2lzKCkpCisgICAgaWYgKCFpc1RydW5jYXRlZEFwcGxpY2FibGUoKSkKICAgICAgICAgcmV0dXJu
IHsgfTsKIAogICAgIEFTU0VSVChkaXNwbGF5Qm94ZXNbMF0uaXNSb290SW5saW5lQm94KCkpOwpA
QCAtMzE1LDEyICszMTEsMTEgQEAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IElubGluZURpc3Bs
YXlMaW5lQnVpbGRlcjo6dHJhaWxpbmdFbGxpcHNpc1Zpc3VhbFJlY3RBZnQKICAgICBhdXRvIGVs
bGlwc2lzV2lkdGggPSBzdGQ6Om1heCgwLmYsIHJvb3RTdHlsZS5mb250Q2FzY2FkZSgpLndpZHRo
KFRleHRVdGlsOjplbGxpcHNpc1RleHRSdW4oKSkpOwogCiAgICAgYXV0byBjb250ZW50TmVlZHNU
cnVuY2F0aW9uID0gWyZdIHsKLSAgICAgICAgc3dpdGNoIChsaW5lRW5kaW5nRWxsaXBzaXNQb2xp
Y3kpIHsKLSAgICAgICAgY2FzZSBMaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3k6OldoZW5Db250ZW50
T3ZlcmZsb3dzSW5JbmxpbmVEaXJlY3Rpb246CisgICAgICAgIHN3aXRjaCAobGluZUVuZGluZ1Ry
dW5jYXRpb25Qb2xpY3kpIHsKKyAgICAgICAgY2FzZSBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGlj
eTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbklubGluZURpcmVjdGlvbjoKICAgICAgICAgICAgIEFT
U0VSVChkaXNwbGF5TGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkgPiBkaXNwbGF5TGluZS5saW5l
Qm94TG9naWNhbFJlY3QoKS53aWR0aCgpKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBjYXNlIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJ
bkJsb2NrRGlyZWN0aW9uOgotICAgICAgICBjYXNlIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6
QWx3YXlzOgorICAgICAgICBjYXNlIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29u
dGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rpb246CiAgICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUxpbmUuY29udGVudExvZ2ljYWxMZWZ0KCkgKyBkaXNwbGF5TGluZS5jb250ZW50TG9naWNhbFdp
ZHRoKCkgKyBlbGxpcHNpc1dpZHRoID4gZGlzcGxheUxpbmUubGluZUJveExvZ2ljYWxSZWN0KCku
bWF4WCgpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CkBAIC0zNDAsNyArMzM1LDcgQEAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IElubGluZURp
c3BsYXlMaW5lQnVpbGRlcjo6dHJhaWxpbmdFbGxpcHNpc1Zpc3VhbFJlY3RBZnQKICAgICB9IGVs
c2UgewogICAgICAgICBhdXRvIGxpbmVCb3hWaXN1YWxMZWZ0ID0gcm9vdFN0eWxlLmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBkaXNwbGF5TGluZS5sZWZ0KCkgOiBkaXNwbGF5TGluZS50b3Ao
KTsKICAgICAgICAgYXV0byBsaW5lQm94VmlzdWFsUmlnaHQgPSBzdGQ6Om1heChyb290U3R5bGUu
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGRpc3BsYXlMaW5lLnJpZ2h0KCkgOiBkaXNwbGF5
TGluZS5ib3R0b20oKSwgbGluZUJveFZpc3VhbExlZnQpOwotICAgICAgICBlbGxpcHNpc1N0YXJ0
ID0gdHJ1bmNhdGVPdmVyZmxvd2luZ0Rpc3BsYXlCb3hlcyhkaXNwbGF5Qm94ZXMsIDAsIGRpc3Bs
YXlCb3hlcy5zaXplKCkgLSAxLCBsaW5lQm94VmlzdWFsTGVmdCwgbGluZUJveFZpc3VhbFJpZ2h0
LCBlbGxpcHNpc1dpZHRoLCByb290U3R5bGUsIGxpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSk7Cisg
ICAgICAgIGVsbGlwc2lzU3RhcnQgPSB0cnVuY2F0ZU92ZXJmbG93aW5nRGlzcGxheUJveGVzKGRp
c3BsYXlCb3hlcywgMCwgZGlzcGxheUJveGVzLnNpemUoKSAtIDEsIGxpbmVCb3hWaXN1YWxMZWZ0
LCBsaW5lQm94VmlzdWFsUmlnaHQsIGVsbGlwc2lzV2lkdGgsIHJvb3RTdHlsZSwgbGluZUVuZGlu
Z1RydW5jYXRpb25Qb2xpY3kpOwogICAgIH0KIAogICAgIGlmIChyb290U3R5bGUuaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSkKQEAgLTM4NSw3ICszODAsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg
bWFrZVJvb21Gb3JMaW5rQm94T25DbGFtcGVkTGluZUlmTmVlZGVkKGF1dG8mIGNsYW1wZWRMaW5l
LCBhdQogICAgIH07CiAgICAgYXV0byBlbmRJbmRleCA9IGluc2VydGlvblBvc2l0aW9uIC0gMTsK
ICAgICBhdXRvIGVsbGlzcHNpc1Bvc2l0aW9uID0gY2xhbXBlZExpbmUucmlnaHQoKSAtIGxpbmtD
b250ZW50V2lkdGggLSBsZWdhY3lNYXRjaGluZ0xpbmtCb3hPZmZzZXQ7Ci0gICAgYXV0byBlbGxp
cHNpc1N0YXJ0ID0gdHJ1bmNhdGVPdmVyZmxvd2luZ0Rpc3BsYXlCb3hlcyhkaXNwbGF5Qm94ZXMs
IHN0YXJ0SW5kZXgoKSwgZW5kSW5kZXgsIGNsYW1wZWRMaW5lLmxlZnQoKSwgZWxsaXNwc2lzUG9z
aXRpb24sIGVsbGlwc2lzQm94UmVjdC53aWR0aCgpLCByb290U3R5bGUsIExpbmVFbmRpbmdFbGxp
cHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uKTsKKyAgICBh
dXRvIGVsbGlwc2lzU3RhcnQgPSB0cnVuY2F0ZU92ZXJmbG93aW5nRGlzcGxheUJveGVzKGRpc3Bs
YXlCb3hlcywgc3RhcnRJbmRleCgpLCBlbmRJbmRleCwgY2xhbXBlZExpbmUubGVmdCgpLCBlbGxp
c3BzaXNQb3NpdGlvbiwgZWxsaXBzaXNCb3hSZWN0LndpZHRoKCksIHJvb3RTdHlsZSwgTGluZUVu
ZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlv
bik7CiAgICAgZWxsaXBzaXNCb3hSZWN0LnNldFgoZWxsaXBzaXNTdGFydCk7CiAgICAgY2xhbXBl
ZExpbmUuc2V0RWxsaXBzaXNWaXN1YWxSZWN0KGVsbGlwc2lzQm94UmVjdCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNw
bGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIu
aAppbmRleCBmZTUzY2IwMTYyMzcuLmNiMTA5YWU5MWI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5oCkBAIC00MSw3
ICs0MSw3IEBAIHB1YmxpYzoKIAogICAgIElubGluZURpc3BsYXk6OkxpbmUgYnVpbGQoY29uc3Qg
TGluZUxheW91dFJlc3VsdCYsIGNvbnN0IExpbmVCb3gmLCBib29sIGxpbmVJc0Z1bGx5VHJ1bmNh
dGVkSW5CbG9ja0RpcmVjdGlvbikgY29uc3Q7CiAKLSAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxG
bG9hdFJlY3Q+IHRyYWlsaW5nRWxsaXBzaXNWaXN1YWxSZWN0QWZ0ZXJUcnVuY2F0aW9uKExpbmVF
bmRpbmdFbGxpcHNpc1BvbGljeSwgY29uc3QgSW5saW5lRGlzcGxheTo6TGluZSYsIElubGluZURp
c3BsYXk6OkJveGVzJiwgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpOworICAgIHN0
YXRpYyBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gdHJhaWxpbmdFbGxpcHNpc1Zpc3VhbFJlY3RB
ZnRlclRydW5jYXRpb24oTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3ksIGNvbnN0IElubGluZURp
c3BsYXk6OkxpbmUmLCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYsIGJvb2wgaXNMYXN0TGluZVdpdGhJ
bmxpbmVDb250ZW50KTsKICAgICBzdGF0aWMgdm9pZCBhZGRMaW5lQ2xhbXBUcmFpbGluZ0xpbmtC
b3hJZkFwcGxpY2FibGUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBJbmxp
bmVMYXlvdXRTdGF0ZSYsIElubGluZURpc3BsYXk6OkNvbnRlbnQmKTsKIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCBjMTBkZGE4
MzQwNDguLmRiOTdkNTY0MTQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcApAQCAtNjUwLDcgKzY1MCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5p
dD4gTGluZUxheW91dDo6Y2xhbXBlZENvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKIAogICAg
IGF1dG8gZmlyc3RUcnVuY2F0ZWRMaW5lSW5kZXggPSBbJl0oKSAtPiBzdGQ6Om9wdGlvbmFsPHNp
emVfdD4gewogICAgICAgICBmb3IgKHNpemVfdCBsaW5lSW5kZXggPSAwOyBsaW5lSW5kZXggPCBs
aW5lcy5zaXplKCk7ICsrbGluZUluZGV4KSB7Ci0gICAgICAgICAgICBpZiAobGluZXNbbGluZUlu
ZGV4XS5pc1RydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24oKSkKKyAgICAgICAgICAgIGlmIChsaW5l
c1tsaW5lSW5kZXhdLmlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGxpbmVJbmRleDsKICAgICAgICAgfQogICAgICAgICByZXR1cm4geyB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>472340</attachid>
            <date>2024-08-28 17:31:39 -0700</date>
            <delta_ts>2024-08-29 20:58:55 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-278828-20240828173138.patch</filename>
            <type>text/plain</type>
            <size>20495</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA4YWY4MzRhMDkzNThmNGVhZGJkNWU0OTVmY2FiN2E1YzhmMWNlNjgwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMjggQXVnIDIwMjQgMTc6MjA6MzIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY3NzLWxp
bmUtY2xhbXBdIFJlbmFtZSBMaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3kgdG8KIExpbmVFbmRpbmdU
cnVuY2F0aW9uUG9saWN5IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Nzg4MjgKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhpcyBpcyBpbiBwcmVwYXJhdGlv
biBmb3Igc3VwcG9ydGluZyBsaW5lLWNsYW1wLiBXaXRoICJibG9jay1lbGxpcHNpcyIgaW4gZWZm
ZWN0ICJlbGxpcHNpcyBwb2xpY3kiIGRvZXMgbm90IGFsd2F5cyByZXN1bHQgaW4gZWxsaXBzaXMu
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudCk6CiogU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z1V0aWxzLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5l
RW5kaW5nVHJ1bmNhdGlvblBvbGljeSk6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRp
bmdVdGlsczo6bGluZUVuZGluZ0VsbGlwc2lzUG9saWN5KTogRGVsZXRlZC4KKiBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRp
bHMuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lVHlwZXMuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5l
RGlzcGxheUxpbmUuaDoKKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkxpbmU6OmlzRnVsbHlUcnVu
Y2F0ZWRJbkJsb2NrRGlyZWN0aW9uIGNvbnN0KToKKFdlYkNvcmU6OklubGluZURpc3BsYXk6Okxp
bmU6OkxpbmUpOgooV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6TGluZTo6dmlzaWJsZVJlY3RJZ25v
cmluZ0Jsb2NrRGlyZWN0aW9uIGNvbnN0KToKKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkxpbmU6
OmlzVHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5TGluZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0Ojp0cnVuY2F0ZU92ZXJmbG93aW5n
RGlzcGxheUJveGVzKToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUxpbmVCdWlsZGVy
Ojp0cmFpbGluZ0VsbGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNhdGlvbik6CihXZWJDb3JlOjpM
YXlvdXQ6Om1ha2VSb29tRm9yTGlua0JveE9uQ2xhbXBlZExpbmVJZk5lZWRlZCk6CiogU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
aW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHA6CihXZWJDb3JlOjpMYXlvdXRJ
bnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y2xhbXBlZENvbnRlbnRMb2dpY2FsSGVpZ2h0IGNvbnN0
KToKLS0tCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAgICAgICAgfCAg
NiArLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcCAgICAgICAgICB8ICA4
ICsrLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmggICAgICAgICAgICB8ICAy
ICstCiAuLi4vaW5saW5lL0lubGluZUxpbmVUeXBlcy5oICAgICAgICAgICAgICAgICAgfCAgOCAr
Ky0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCAgICAgfCAgNCAr
LQogLi4uL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lLmggICAgICAgIHwgIDggKyst
LQogLi4uL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcCAgICAgIHwgMzcgKysr
KysrKystLS0tLS0tLS0tLQogLi4uL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVp
bGRlci5oIHwgIDIgKy0KIC4uLi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cCAgICB8ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDQyIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAppbmRleCA5Y2JkMTg4MDVhMTcuLjNlN2RlZWZjOWYzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMzkxLDEwICszOTEsMTAg
QEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRl
bnRGb3JJbmxpbmVDb250ZW50KGNvbnN0IEwKICAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5l
RGlzcGxheUxpbmVCdWlsZGVyIHsgKnRoaXMsIGNvbnN0cmFpbnRzIH0uYnVpbGQobGluZUxheW91
dFJlc3VsdCwgbGluZUJveCwgbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKTsK
ICAgICBhdXRvIGJveGVzID0gSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyIHsgKnRoaXMsIGNv
bnN0cmFpbnRzLCBsaW5lQm94LCBkaXNwbGF5TGluZSB9LmJ1aWxkKGxpbmVMYXlvdXRSZXN1bHQp
OwogCi0gICAgYXV0byBlbGxpcHNpc1BvbGljeSA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6bGlu
ZUVuZGluZ0VsbGlwc2lzUG9saWN5KHJvb3QoKS5zdHlsZSgpLCBudW1iZXJPZkxpbmVzV2l0aElu
bGluZUNvbnRlbnQsIG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCk7Ci0gICAgaWYgKGF1dG8g
ZWxsaXBzaXNSZWN0ID0gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjp0cmFpbGluZ0VsbGlwc2lz
VmlzdWFsUmVjdEFmdGVyVHJ1bmNhdGlvbihlbGxpcHNpc1BvbGljeSwgZGlzcGxheUxpbmUsIGJv
eGVzLCBsaW5lTGF5b3V0UmVzdWx0LmlzRmlyc3RMYXN0LmlzTGFzdExpbmVXaXRoSW5saW5lQ29u
dGVudCkpIHsKKyAgICBhdXRvIHRydW5jYXRpb25Qb2xpY3kgPSBJbmxpbmVGb3JtYXR0aW5nVXRp
bHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KHJvb3QoKS5zdHlsZSgpLCBudW1iZXJPZkxp
bmVzV2l0aElubGluZUNvbnRlbnQsIG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCk7CisgICAg
aWYgKGF1dG8gZWxsaXBzaXNSZWN0ID0gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjp0cmFpbGlu
Z0VsbGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNhdGlvbih0cnVuY2F0aW9uUG9saWN5LCBkaXNw
bGF5TGluZSwgYm94ZXMsIGxpbmVMYXlvdXRSZXN1bHQuaXNGaXJzdExhc3QuaXNMYXN0TGluZVdp
dGhJbmxpbmVDb250ZW50KSkgewogICAgICAgICBkaXNwbGF5TGluZS5zZXRFbGxpcHNpc1Zpc3Vh
bFJlY3QoKmVsbGlwc2lzUmVjdCk7Ci0gICAgICAgIGlmIChlbGxpcHNpc1BvbGljeSA9PSBMaW5l
RW5kaW5nRWxsaXBzaXNQb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlv
bikKKyAgICAgICAgaWYgKHRydW5jYXRpb25Qb2xpY3kgPT0gTGluZUVuZGluZ1RydW5jYXRpb25Q
b2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbikKICAgICAgICAgICAg
IGxheW91dFN0YXRlKCkuc2V0Q2xhbXBlZExpbmVJbmRleChsaW5lQm94LmxpbmVJbmRleCgpKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuY3Bw
CmluZGV4IGRlMmEwYWYxMTkyNi4uYmRlNDQ0MTgxYmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRp
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAKQEAgLTU5NywxNSArNTk3LDE1IEBAIHN0ZDo6
cGFpcjxJbmxpbmVMYXlvdXRVbml0LCBJbmxpbmVMYXlvdXRVbml0PiBJbmxpbmVGb3JtYXR0aW5n
VXRpbHM6OnRleHRFbXBoYXNpCiAgICAgcmV0dXJuIHsgaGFzQWJvdmVUZXh0RW1waGFzaXMgPyBh
bm5vdGF0aW9uU2l6ZSA6IDAuZiwgaGFzQWJvdmVUZXh0RW1waGFzaXMgPyAwLmYgOiBhbm5vdGF0
aW9uU2l6ZSB9OwogfQogCi1MaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3kgSW5saW5lRm9ybWF0dGlu
Z1V0aWxzOjpsaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RT
dHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCwgc3RkOjpvcHRpb25h
bDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCkKK0xpbmVFbmRpbmdUcnVuY2F0
aW9uUG9saWN5IElubGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xp
Y3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRo
SW5saW5lQ29udGVudCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVz
QWxsb3dlZCkKIHsKICAgICBpZiAobnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkICYmICpudW1i
ZXJPZlZpc2libGVMaW5lc0FsbG93ZWQgPT0gbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50
KQotICAgICAgICByZXR1cm4gTGluZUVuZGluZ0VsbGlwc2lzUG9saWN5OjpXaGVuQ29udGVudE92
ZXJmbG93c0luQmxvY2tEaXJlY3Rpb247CisgICAgICAgIHJldHVybiBMaW5lRW5kaW5nVHJ1bmNh
dGlvblBvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uOwogCiAgICAg
Ly8gVHJ1bmNhdGlvbiBpcyBpbiBlZmZlY3Qgd2hlbiB0aGUgYmxvY2sgY29udGFpbmVyIGhhcyBv
dmVyZmxvdyBvdGhlciB0aGFuIHZpc2libGUuCiAgICAgaWYgKHJvb3RTdHlsZS5vdmVyZmxvd1go
KSAhPSBPdmVyZmxvdzo6VmlzaWJsZSAmJiByb290U3R5bGUudGV4dE92ZXJmbG93KCkgPT0gVGV4
dE92ZXJmbG93OjpFbGxpcHNpcykKLSAgICAgICAgcmV0dXJuIExpbmVFbmRpbmdFbGxpcHNpc1Bv
bGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbklubGluZURpcmVjdGlvbjsKLSAgICByZXR1cm4g
TGluZUVuZGluZ0VsbGlwc2lzUG9saWN5OjpOb0VsbGlwc2lzOworICAgICAgICByZXR1cm4gTGlu
ZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5JbmxpbmVEaXJl
Y3Rpb247CisgICAgcmV0dXJuIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRp
b247CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgK
aW5kZXggYzQ4MTY5YWNmMWY5Li5lOWVhZTVmZmRiYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGls
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdVdGlscy5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAg
IHN0YXRpYyBzdGQ6OnBhaXI8SW5saW5lTGF5b3V0VW5pdCwgSW5saW5lTGF5b3V0VW5pdD4gdGV4
dEVtcGhhc2lzRm9ySW5saW5lQm94KGNvbnN0IEJveCYsIGNvbnN0IEVsZW1lbnRCb3gmIHJvb3RC
b3gpOwogCi0gICAgc3RhdGljIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSBsaW5lRW5kaW5nRWxs
aXBzaXNQb2xpY3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9m
TGluZXNXaXRoSW5saW5lQ29udGVudCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlz
aWJsZUxpbmVzQWxsb3dlZCk7CisgICAgc3RhdGljIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5
IGxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJlbmRlclN0eWxlJiByb290U3R5bGUs
IHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQsIHN0ZDo6b3B0aW9uYWw8c2l6
ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQpOwogCiBwcml2YXRlOgogICAgIElubGlu
ZUxheW91dFVuaXQgY29udGVudExlZnRBZnRlckxhc3RMaW5lKGNvbnN0IENvbnN0cmFpbnRzRm9y
SW5GbG93Q29udGVudCYsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gbGFzdExpbmVM
b2dpY2FsQm90dG9tLCBjb25zdCBGbG9hdGluZ0NvbnRleHQmKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZVR5cGVzLmgKaW5kZXggMzRiMWRiNGU5OTI4Li4zYjI4YzVlN2NjOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVUeXBlcy5oCkBAIC0zMiwxMiArMzIsMTAgQEAgbmFt
ZXNwYWNlIExheW91dCB7CiAKIGNsYXNzIElubGluZUl0ZW07CiAKLWVudW0gY2xhc3MgTGluZUVu
ZGluZ0VsbGlwc2lzUG9saWN5IDogdWludDhfdCB7Ci0gICAgTm9FbGxpcHNpcywKK2VudW0gY2xh
c3MgTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgOiB1aW50OF90IHsKKyAgICBOb1RydW5jYXRp
b24sCiAgICAgV2hlbkNvbnRlbnRPdmVyZmxvd3NJbklubGluZURpcmVjdGlvbiwKLSAgICBXaGVu
Q29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rpb24sCi0gICAgLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGJlIHVzZWQgd2hlbiB3ZSByZWFsaXplIHRoZSBsYXN0IGxpbmUgb2YgdGhpcyBJRkMgaXMg
d2hlcmUgdGhlIGNvbnRlbnQgaXMgdHJ1bmNhdGVkIChzaWJsaW5nIElGQyBoYXMgbW9yZSBsaW5l
cykuCi0gICAgQWx3YXlzCisgICAgV2hlbkNvbnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9u
CiB9OwogCiBzdHJ1Y3QgRXhwYW5zaW9uSW5mbyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlD
b250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaAppbmRleCBmOGJj
Y2MwOTA0NDcuLmY2NzA2ZWRlZWQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oCkBAIC01MCw3ICs1MCw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91
dFJlc3VsdCYsIElubGluZURpc3BsYXk6OkJveGVzJik7CiAgICAgdm9pZCBjb2xsZWN0SW5rT3Zl
cmZsb3dGb3JJbmxpbmVCb3hlcyhJbmxpbmVEaXNwbGF5OjpCb3hlcyYpOwogICAgIHZvaWQgY29s
bGVjdElua092ZXJmbG93Rm9yVGV4dERlY29yYXRpb25zKElubGluZURpc3BsYXk6OkJveGVzJik7
Ci0gICAgdm9pZCB0cnVuY2F0ZUZvckVsbGlwc2lzUG9saWN5KExpbmVFbmRpbmdFbGxpcHNpc1Bv
bGljeSwgY29uc3QgTGluZUxheW91dFJlc3VsdCYsIElubGluZURpc3BsYXk6OkJveGVzJik7Cisg
ICAgdm9pZCB0cnVuY2F0ZUZvckVsbGlwc2lzUG9saWN5KExpbmVFbmRpbmdUcnVuY2F0aW9uUG9s
aWN5LCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgSW5saW5lRGlzcGxheTo6Qm94ZXMmKTsKIAog
ICAgIHZvaWQgYXBwZW5kVGV4dERpc3BsYXlCb3goY29uc3QgTGluZTo6UnVuJiwgY29uc3QgSW5s
aW5lUmVjdCYsIElubGluZURpc3BsYXk6OkJveGVzJik7CiAgICAgdm9pZCBhcHBlbmRTb2Z0TGlu
ZUJyZWFrRGlzcGxheUJveChjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgSW5s
aW5lRGlzcGxheTo6Qm94ZXMmKTsKQEAgLTkzLDcgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBjb25z
dCBMaW5lQm94JiBtX2xpbmVCb3g7CiAgICAgY29uc3QgSW5saW5lRGlzcGxheTo6TGluZSYgbV9k
aXNwbGF5TGluZTsKICAgICBJbnRTaXplIG1faW5pdGlhbENvbnRhaW5nQmxvY2tTaXplOwotICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCB0YWtlIERpc3BsYXlMaW5lOjppc1RydW5jYXRlZEluQmxv
Y2tEaXJlY3Rpb24oKSBmb3Igbm9uLXByZWZpeGVkIGxpbmUtY2xhbXAuCisgICAgLy8gRklYTUU6
IFRoaXMgc2hvdWxkIHRha2UgRGlzcGxheUxpbmU6OmlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGly
ZWN0aW9uKCkgZm9yIG5vbi1wcmVmaXhlZCBsaW5lLWNsYW1wLgogICAgIGJvb2wgbV9saW5lSXNG
dWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24geyBmYWxzZSB9OwogICAgIGJvb2wgbV9jb250
ZW50SGFzSW5rT3ZlcmZsb3cgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNTZWVuUnVieUJhc2Ug
eyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZS5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5
TGluZS5oCmluZGV4IDM5YzM3YzgyNmJkYy4uODJkNTAzNWQwYzk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGlu
ZURpc3BsYXlMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZS5oCkBAIC03NCw3ICs3NCw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzSG9yaXpvbnRhbCgpIGNvbnN0IHsgcmV0dXJuIG1faXNIb3Jp
em9udGFsOyB9CiAgICAgYm9vbCBpc0xlZnRUb1JpZ2h0SW5saW5lRGlyZWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uOyB9CiAKLSAgICBib29sIGlzVHJ1bmNh
dGVkSW5CbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNUcnVuY2F0ZWRJbkJsb2Nr
RGlyZWN0aW9uOyB9CisgICAgYm9vbCBpc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1faXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb247IH0KIAog
ICAgIGJvb2wgaGFzRWxsaXBzaXMoKSBjb25zdCB7IHJldHVybiBtX2VsbGlwc2lzVmlzdWFsUmVj
dC5oYXNfdmFsdWUoKTsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBlbGxpcHNpc1Zp
c3VhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2VsbGlwc2lzVmlzdWFsUmVjdDsgfQpAQCAtMTI5
LDcgKzEyOSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGVmdFRvUmlnaHREaXJlY3Rpb24g
OiAxIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc0hvcml6b250YWwgOiAxIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9pc0ZpcnN0QWZ0ZXJQYWdlQnJlYWsgOiAxIHsgZmFsc2UgfTsKLSAgICBib29sIG1f
aXNUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uIDogMSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lz
RnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uIDogMSB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2hhc0NvbnRlbnRBZnRlckVsbGlwc2lzQm94IDogMSB7IGZhbHNlIH07CiAgICAgLy8gVGhpcyBp
cyB2aXN1YWwgcmVjdCBpZ25vcmluZyBibG9jayBkaXJlY3Rpb24uCiAgICAgc3RkOjpvcHRpb25h
bDxGbG9hdFJlY3Q+IG1fZWxsaXBzaXNWaXN1YWxSZWN0IHsgfTsKQEAgLTE0Nyw3ICsxNDcsNyBA
QCBpbmxpbmUgTGluZTo6TGluZShjb25zdCBGbG9hdFJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiBsaW5lQm94UgogICAgICwgbV9iYXNlbGluZVR5cGUoYmFzZWxpbmVU
eXBlKQogICAgICwgbV9pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKGlzTGVmdFRvUmlnaHREaXJlY3Rp
b24pCiAgICAgLCBtX2lzSG9yaXpvbnRhbChpc0hvcml6b250YWwpCi0gICAgLCBtX2lzVHJ1bmNh
dGVkSW5CbG9ja0RpcmVjdGlvbihpc1RydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24pCisgICAgLCBt
X2lzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKGlzVHJ1bmNhdGVkSW5CbG9ja0RpcmVj
dGlvbikKIHsKIH0KIApAQCAtMTc0LDcgKzE3NCw3IEBAIGlubGluZSB2b2lkIExpbmU6Om1vdmVJ
bkJsb2NrRGlyZWN0aW9uKGZsb2F0IG9mZnNldCwgYm9vbCBpc0hvcml6b250YWxXcml0aW5nTW9k
CiAKIGlubGluZSBGbG9hdFJlY3QgTGluZTo6dmlzaWJsZVJlY3RJZ25vcmluZ0Jsb2NrRGlyZWN0
aW9uKCkgY29uc3QKIHsKLSAgICBpZiAobV9pc1RydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24pCisg
ICAgaWYgKG1faXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24pCiAgICAgICAgIHJldHVy
biB7IH07CiAgICAgaWYgKCFoYXNFbGxpcHNpcygpIHx8IGhhc0NvbnRlbnRBZnRlckVsbGlwc2lz
Qm94KCkpCiAgICAgICAgIHJldHVybiBtX2lua092ZXJmbG93OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCmluZGV4
IGQwZDY4NjAzYTVlNy4uZDM2ZDY0ZjczMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5l
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCkBAIC0yMjUsNyAr
MjI1LDcgQEAgc3RhdGljIGZsb2F0IHRydW5jYXRlKElubGluZURpc3BsYXk6OkJveCYgZGlzcGxh
eUJveCwgZmxvYXQgY29udGVudFdpZHRoLCBmbG9hdAogICAgIHJldHVybiBjb250ZW50V2lkdGg7
CiB9CiAKLXN0YXRpYyBmbG9hdCB0cnVuY2F0ZU92ZXJmbG93aW5nRGlzcGxheUJveGVzKElubGlu
ZURpc3BsYXk6OkJveGVzJiBib3hlcywgc2l6ZV90IHN0YXJ0SW5kZXgsIHNpemVfdCBlbmRJbmRl
eCwgZmxvYXQgbGluZUJveFZpc3VhbExlZnQsIGZsb2F0IGxpbmVCb3hWaXN1YWxSaWdodCwgZmxv
YXQgZWxsaXBzaXNXaWR0aCwgY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgTGluZUVuZGlu
Z0VsbGlwc2lzUG9saWN5IGxpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSkKK3N0YXRpYyBmbG9hdCB0
cnVuY2F0ZU92ZXJmbG93aW5nRGlzcGxheUJveGVzKElubGluZURpc3BsYXk6OkJveGVzJiBib3hl
cywgc2l6ZV90IHN0YXJ0SW5kZXgsIHNpemVfdCBlbmRJbmRleCwgZmxvYXQgbGluZUJveFZpc3Vh
bExlZnQsIGZsb2F0IGxpbmVCb3hWaXN1YWxSaWdodCwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgY29u
c3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgbGlu
ZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpCiB7CiAgICAgQVNTRVJUKGVuZEluZGV4ICYmIHN0YXJ0
SW5kZXggPD0gZW5kSW5kZXgpOwogICAgIC8vIFdlIGdvdHRhIHRydW5jYXRlIHNvbWUgcnVucy4K
QEAgLTI1OSw3ICsyNTksNyBAQCBzdGF0aWMgZmxvYXQgdHJ1bmNhdGVPdmVyZmxvd2luZ0Rpc3Bs
YXlCb3hlcyhJbmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMsIHNpemVfdAogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaXNGaXJzdENvbnRlbnRSdW4gPSBmYWxzZTsKICAgICAgICAgfQotICAg
ICAgICBBU1NFUlRfVU5VU0VEKGxpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSwgbGluZUVuZGluZ0Vs
bGlwc2lzUG9saWN5ICE9IExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVy
Zmxvd3NJbklubGluZURpcmVjdGlvbiB8fCB0cnVuY2F0ZVJpZ2h0Lmhhc192YWx1ZSgpIHx8IHJp
Z2h0KGJveGVzLmxhc3QoKSkgPT0gdmlzdWFsUmlnaHRGb3JDb250ZW50RW5kIHx8IGJveGVzLmxh
c3QoKS5pc0lubGluZUJveCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChsaW5lRW5kaW5nVHJ1
bmNhdGlvblBvbGljeSwgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgIT0gTGluZUVuZGluZ1Ry
dW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5JbmxpbmVEaXJlY3Rpb24gfHwg
dHJ1bmNhdGVSaWdodC5oYXNfdmFsdWUoKSB8fCByaWdodChib3hlcy5sYXN0KCkpID09IHZpc3Vh
bFJpZ2h0Rm9yQ29udGVudEVuZCB8fCBib3hlcy5sYXN0KCkuaXNJbmxpbmVCb3goKSk7CiAgICAg
ICAgIHJldHVybiB0cnVuY2F0ZVJpZ2h0LnZhbHVlX29yKHJpZ2h0KGJveGVzLmxhc3QoKSkpOwog
ICAgIH0KIApAQCAtMjgwLDMzICsyODAsMjkgQEAgc3RhdGljIGZsb2F0IHRydW5jYXRlT3ZlcmZs
b3dpbmdEaXNwbGF5Qm94ZXMoSW5saW5lRGlzcGxheTo6Qm94ZXMmIGJveGVzLCBzaXplX3QKICAg
ICAgICAgfQogICAgICAgICBpc0ZpcnN0Q29udGVudFJ1biA9IGZhbHNlOwogICAgIH0KLSAgICBB
U1NFUlRfVU5VU0VEKGxpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSwgbGluZUVuZGluZ0VsbGlwc2lz
UG9saWN5ICE9IExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJ
bklubGluZURpcmVjdGlvbiB8fCB0cnVuY2F0ZUxlZnQuaGFzX3ZhbHVlKCkgfHwgbGVmdChib3hl
cy5maXJzdCgpKSA9PSB2aXN1YWxMZWZ0Rm9yQ29udGVudEVuZCk7CisgICAgQVNTRVJUX1VOVVNF
RChsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSwgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kg
IT0gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5Jbmxp
bmVEaXJlY3Rpb24gfHwgdHJ1bmNhdGVMZWZ0Lmhhc192YWx1ZSgpIHx8IGxlZnQoYm94ZXMuZmly
c3QoKSkgPT0gdmlzdWFsTGVmdEZvckNvbnRlbnRFbmQpOwogICAgIHJldHVybiB0cnVuY2F0ZUxl
ZnQudmFsdWVfb3IobGVmdChib3hlcy5maXJzdCgpKSkgLSBlbGxpcHNpc1dpZHRoOwogfQogCi1z
dGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjp0cmFpbGlu
Z0VsbGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNhdGlvbihMaW5lRW5kaW5nRWxsaXBzaXNQb2xp
Y3kgbGluZUVuZGluZ0VsbGlwc2lzUG9saWN5LCBjb25zdCBJbmxpbmVEaXNwbGF5OjpMaW5lJiBk
aXNwbGF5TGluZSwgSW5saW5lRGlzcGxheTo6Qm94ZXMmIGRpc3BsYXlCb3hlcywgYm9vbCBpc0xh
c3RMaW5lV2l0aElubGluZUNvbnRlbnQpCitzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gSW5saW5l
RGlzcGxheUxpbmVCdWlsZGVyOjp0cmFpbGluZ0VsbGlwc2lzVmlzdWFsUmVjdEFmdGVyVHJ1bmNh
dGlvbihMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSBsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGlj
eSwgY29uc3QgSW5saW5lRGlzcGxheTo6TGluZSYgZGlzcGxheUxpbmUsIElubGluZURpc3BsYXk6
OkJveGVzJiBkaXNwbGF5Qm94ZXMsIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KQog
ewogICAgIGlmIChkaXNwbGF5Qm94ZXMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgYXV0byBjb250ZW50TmVlZHNFbGxpcHNpcyA9IFsmXSB7Ci0gICAgICAgIHN3aXRjaCAo
bGluZUVuZGluZ0VsbGlwc2lzUG9saWN5KSB7Ci0gICAgICAgIGNhc2UgTGluZUVuZGluZ0VsbGlw
c2lzUG9saWN5OjpOb0VsbGlwc2lzOgorICAgIGF1dG8gaXNUcnVuY2F0ZWRBcHBsaWNhYmxlID0g
WyZdIHsKKyAgICAgICAgc3dpdGNoIChsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSkgeworICAg
ICAgICBjYXNlIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb246CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhc2UgTGluZUVuZGluZ0VsbGlwc2lzUG9s
aWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luSW5saW5lRGlyZWN0aW9uOgorICAgICAgICBjYXNl
IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luSW5saW5l
RGlyZWN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlMaW5lLmNvbnRlbnRMb2dpY2Fs
V2lkdGgoKSAmJiBkaXNwbGF5TGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkgPiBkaXNwbGF5TGlu
ZS5saW5lQm94TG9naWNhbFJlY3QoKS53aWR0aCgpOwotICAgICAgICBjYXNlIExpbmVFbmRpbmdF
bGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uOgotICAg
ICAgICAgICAgaWYgKGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBGQUxMVEhST1VHSDsKLSAgICAgICAgY2FzZSBM
aW5lRW5kaW5nRWxsaXBzaXNQb2xpY3k6OkFsd2F5czoKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICBjYXNlIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92
ZXJmbG93c0luQmxvY2tEaXJlY3Rpb246CisgICAgICAgICAgICByZXR1cm4gIWlzTGFzdExpbmVX
aXRoSW5saW5lQ29udGVudDsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAg
fTsKLSAgICBpZiAoIWNvbnRlbnROZWVkc0VsbGlwc2lzKCkpCisgICAgaWYgKCFpc1RydW5jYXRl
ZEFwcGxpY2FibGUoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIEFTU0VSVChkaXNwbGF5
Qm94ZXNbMF0uaXNSb290SW5saW5lQm94KCkpOwpAQCAtMzE1LDEyICszMTEsMTEgQEAgc3RkOjpv
cHRpb25hbDxGbG9hdFJlY3Q+IElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6dHJhaWxpbmdFbGxp
cHNpc1Zpc3VhbFJlY3RBZnQKICAgICBhdXRvIGVsbGlwc2lzV2lkdGggPSBzdGQ6Om1heCgwLmYs
IHJvb3RTdHlsZS5mb250Q2FzY2FkZSgpLndpZHRoKFRleHRVdGlsOjplbGxpcHNpc1RleHRSdW4o
KSkpOwogCiAgICAgYXV0byBjb250ZW50TmVlZHNUcnVuY2F0aW9uID0gWyZdIHsKLSAgICAgICAg
c3dpdGNoIChsaW5lRW5kaW5nRWxsaXBzaXNQb2xpY3kpIHsKLSAgICAgICAgY2FzZSBMaW5lRW5k
aW5nRWxsaXBzaXNQb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5JbmxpbmVEaXJlY3Rpb246
CisgICAgICAgIHN3aXRjaCAobGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpIHsKKyAgICAgICAg
Y2FzZSBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbklu
bGluZURpcmVjdGlvbjoKICAgICAgICAgICAgIEFTU0VSVChkaXNwbGF5TGluZS5jb250ZW50TG9n
aWNhbFdpZHRoKCkgPiBkaXNwbGF5TGluZS5saW5lQm94TG9naWNhbFJlY3QoKS53aWR0aCgpKTsK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIExpbmVFbmRpbmdFbGxpcHNp
c1BvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uOgotICAgICAgICBj
YXNlIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6QWx3YXlzOgorICAgICAgICBjYXNlIExpbmVF
bmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rp
b246CiAgICAgICAgICAgICByZXR1cm4gZGlzcGxheUxpbmUuY29udGVudExvZ2ljYWxMZWZ0KCkg
KyBkaXNwbGF5TGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkgKyBlbGxpcHNpc1dpZHRoID4gZGlz
cGxheUxpbmUubGluZUJveExvZ2ljYWxSZWN0KCkubWF4WCgpOwogICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zNDAsNyArMzM1LDcgQEAgc3Rk
OjpvcHRpb25hbDxGbG9hdFJlY3Q+IElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6dHJhaWxpbmdF
bGxpcHNpc1Zpc3VhbFJlY3RBZnQKICAgICB9IGVsc2UgewogICAgICAgICBhdXRvIGxpbmVCb3hW
aXN1YWxMZWZ0ID0gcm9vdFN0eWxlLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBkaXNwbGF5
TGluZS5sZWZ0KCkgOiBkaXNwbGF5TGluZS50b3AoKTsKICAgICAgICAgYXV0byBsaW5lQm94Vmlz
dWFsUmlnaHQgPSBzdGQ6Om1heChyb290U3R5bGUuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGRpc3BsYXlMaW5lLnJpZ2h0KCkgOiBkaXNwbGF5TGluZS5ib3R0b20oKSwgbGluZUJveFZpc3Vh
bExlZnQpOwotICAgICAgICBlbGxpcHNpc1N0YXJ0ID0gdHJ1bmNhdGVPdmVyZmxvd2luZ0Rpc3Bs
YXlCb3hlcyhkaXNwbGF5Qm94ZXMsIDAsIGRpc3BsYXlCb3hlcy5zaXplKCkgLSAxLCBsaW5lQm94
VmlzdWFsTGVmdCwgbGluZUJveFZpc3VhbFJpZ2h0LCBlbGxpcHNpc1dpZHRoLCByb290U3R5bGUs
IGxpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSk7CisgICAgICAgIGVsbGlwc2lzU3RhcnQgPSB0cnVu
Y2F0ZU92ZXJmbG93aW5nRGlzcGxheUJveGVzKGRpc3BsYXlCb3hlcywgMCwgZGlzcGxheUJveGVz
LnNpemUoKSAtIDEsIGxpbmVCb3hWaXN1YWxMZWZ0LCBsaW5lQm94VmlzdWFsUmlnaHQsIGVsbGlw
c2lzV2lkdGgsIHJvb3RTdHlsZSwgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpOwogICAgIH0K
IAogICAgIGlmIChyb290U3R5bGUuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKQEAgLTM4NSw3
ICszODAsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbWFrZVJvb21Gb3JMaW5rQm94T25DbGFtcGVk
TGluZUlmTmVlZGVkKGF1dG8mIGNsYW1wZWRMaW5lLCBhdQogICAgIH07CiAgICAgYXV0byBlbmRJ
bmRleCA9IGluc2VydGlvblBvc2l0aW9uIC0gMTsKICAgICBhdXRvIGVsbGlzcHNpc1Bvc2l0aW9u
ID0gY2xhbXBlZExpbmUucmlnaHQoKSAtIGxpbmtDb250ZW50V2lkdGggLSBsZWdhY3lNYXRjaGlu
Z0xpbmtCb3hPZmZzZXQ7Ci0gICAgYXV0byBlbGxpcHNpc1N0YXJ0ID0gdHJ1bmNhdGVPdmVyZmxv
d2luZ0Rpc3BsYXlCb3hlcyhkaXNwbGF5Qm94ZXMsIHN0YXJ0SW5kZXgoKSwgZW5kSW5kZXgsIGNs
YW1wZWRMaW5lLmxlZnQoKSwgZWxsaXNwc2lzUG9zaXRpb24sIGVsbGlwc2lzQm94UmVjdC53aWR0
aCgpLCByb290U3R5bGUsIExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeTo6V2hlbkNvbnRlbnRPdmVy
Zmxvd3NJbkJsb2NrRGlyZWN0aW9uKTsKKyAgICBhdXRvIGVsbGlwc2lzU3RhcnQgPSB0cnVuY2F0
ZU92ZXJmbG93aW5nRGlzcGxheUJveGVzKGRpc3BsYXlCb3hlcywgc3RhcnRJbmRleCgpLCBlbmRJ
bmRleCwgY2xhbXBlZExpbmUubGVmdCgpLCBlbGxpc3BzaXNQb3NpdGlvbiwgZWxsaXBzaXNCb3hS
ZWN0LndpZHRoKCksIHJvb3RTdHlsZSwgTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5D
b250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbik7CiAgICAgZWxsaXBzaXNCb3hSZWN0LnNl
dFgoZWxsaXBzaXNTdGFydCk7CiAgICAgY2xhbXBlZExpbmUuc2V0RWxsaXBzaXNWaXN1YWxSZWN0
KGVsbGlwc2lzQm94UmVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaAppbmRleCBmZTUzY2IwMTYyMzcuLmNiMTA5
YWU5MWI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGlu
ZURpc3BsYXlMaW5lQnVpbGRlci5oCkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKIAogICAgIElu
bGluZURpc3BsYXk6OkxpbmUgYnVpbGQoY29uc3QgTGluZUxheW91dFJlc3VsdCYsIGNvbnN0IExp
bmVCb3gmLCBib29sIGxpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbikgY29uc3Q7
CiAKLSAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IHRyYWlsaW5nRWxsaXBzaXNW
aXN1YWxSZWN0QWZ0ZXJUcnVuY2F0aW9uKExpbmVFbmRpbmdFbGxpcHNpc1BvbGljeSwgY29uc3Qg
SW5saW5lRGlzcGxheTo6TGluZSYsIElubGluZURpc3BsYXk6OkJveGVzJiwgYm9vbCBpc0xhc3RM
aW5lV2l0aElubGluZUNvbnRlbnQpOworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVj
dD4gdHJhaWxpbmdFbGxpcHNpc1Zpc3VhbFJlY3RBZnRlclRydW5jYXRpb24oTGluZUVuZGluZ1Ry
dW5jYXRpb25Qb2xpY3ksIGNvbnN0IElubGluZURpc3BsYXk6OkxpbmUmLCBJbmxpbmVEaXNwbGF5
OjpCb3hlcyYsIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKICAgICBzdGF0aWMg
dm9pZCBhZGRMaW5lQ2xhbXBUcmFpbGluZ0xpbmtCb3hJZkFwcGxpY2FibGUoY29uc3QgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBJbmxpbmVMYXlvdXRTdGF0ZSYsIElubGluZURpc3Bs
YXk6OkNvbnRlbnQmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmNwcAppbmRleCBjMTBkZGE4MzQwNDguLmRiOTdkNTY0MTQ3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNjUwLDcgKzY1
MCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gTGluZUxheW91dDo6Y2xhbXBlZENvbnRl
bnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKIAogICAgIGF1dG8gZmlyc3RUcnVuY2F0ZWRMaW5lSW5k
ZXggPSBbJl0oKSAtPiBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gewogICAgICAgICBmb3IgKHNpemVf
dCBsaW5lSW5kZXggPSAwOyBsaW5lSW5kZXggPCBsaW5lcy5zaXplKCk7ICsrbGluZUluZGV4KSB7
Ci0gICAgICAgICAgICBpZiAobGluZXNbbGluZUluZGV4XS5pc1RydW5jYXRlZEluQmxvY2tEaXJl
Y3Rpb24oKSkKKyAgICAgICAgICAgIGlmIChsaW5lc1tsaW5lSW5kZXhdLmlzRnVsbHlUcnVuY2F0
ZWRJbkJsb2NrRGlyZWN0aW9uKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbmVJbmRleDsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4geyB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>