<?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>124707</bug_id>
          
          <creation_ts>2013-11-21 03:10:15 -0800</creation_ts>
          <short_desc>Generate toHTMLMarquee|OListElement() to cleanup static_cast&lt;&gt;</short_desc>
          <delta_ts>2013-11-24 07:23:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>953012</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-21 03:10:15 -0800</bug_when>
    <thetext>As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement(). Besides this patch cleans up remaining static_cast&lt;&gt; usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953017</commentid>
    <comment_count>1</comment_count>
      <attachid>217542</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-21 03:17:48 -0800</bug_when>
    <thetext>Created attachment 217542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953385</commentid>
    <comment_count>2</comment_count>
      <attachid>217542</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-21 18:36:39 -0800</bug_when>
    <thetext>Comment on attachment 217542
Patch

There is no regression on layout test when I run layout test locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953429</commentid>
    <comment_count>3</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-21 20:28:23 -0800</bug_when>
    <thetext>CC&apos;ing Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953549</commentid>
    <comment_count>4</comment_count>
      <attachid>217542</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-11-22 08:18:30 -0800</bug_when>
    <thetext>Comment on attachment 217542
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=217542&amp;action=review

&gt; Source/WebCore/rendering/RenderMarquee.cpp:78
&gt;      if (element &amp;&amp; element-&gt;hasTagName(marqueeTag)) {
&gt; -        HTMLMarqueeElement* marqueeElement = static_cast&lt;HTMLMarqueeElement*&gt;(element);
&gt; -        result = std::max(result, marqueeElement-&gt;minimumDelay());
&gt; +        result = std::max(result, toHTMLMarqueeElement(element)-&gt;minimumDelay());
&gt;      }

WebKit coding style says we remove the braces when an if statement becomes a single line like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953788</commentid>
    <comment_count>5</comment_count>
      <attachid>217742</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-22 23:44:25 -0800</bug_when>
    <thetext>Created attachment 217742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953842</commentid>
    <comment_count>6</comment_count>
      <attachid>217742</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-24 07:23:18 -0800</bug_when>
    <thetext>Comment on attachment 217742
Patch

Clearing flags on attachment: 217742

Committed r159733: &lt;http://trac.webkit.org/changeset/159733&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953843</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-24 07:23:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217542</attachid>
            <date>2013-11-21 03:17:48 -0800</date>
            <delta_ts>2013-11-22 23:44:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124707-20131121201746.patch</filename>
            <type>text/plain</type>
            <size>18988</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI0YzM1ODEwOGQ0NTQ2
YzA0NTI3MjIyMWQyZGE2ZjIwNmQwZWE0NC4uM2I4MzkwZmEzYmVlOTZjZTY3ZTVhZDNjMDc5MmYx
NTdmOGM2ZjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTExLTIxICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgR2VuZXJhdGUg
dG9IVE1MTWFycXVlZXxPTGlzdEVsZW1lbnQoKSB0byBjbGVhbnVwIHN0YXRpY19jYXN0PD4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDcwNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIGEgc3RlcCB0
byB1c2UgdG9Gb28oKSwgd2UgbmVlZCB0byBnZW5lcmF0ZSB0b0hUTUxNYXJxdWVlfE9MaXN0RWxl
bWVudCgpLgorICAgICAgICBCZXNpZGVzIHRoaXMgcGF0Y2ggY2xlYW5zIHVwIHJlbWFpbmluZyBz
dGF0aWNfY2FzdDw+IHVzYWdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3Ig
Y2hhbmdlcy4KKworICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUmVzb2x2ZXI6OlN0YXRlOjppbml0RWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjpsb2NhdGVDb3VzaW5MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmZpbmRTaWJsaW5nRm9yU3R5bGVTaGFyaW5nKToKKyAgICAgICAgKiBk
b20vQXR0ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdHRyOjpzdHlsZSk6CisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlQXR0cmli
dXRlKToKKyAgICAgICAgKiBlZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVFbWJlZGRpbmdVcFRvRW5jbG9zaW5n
QmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OnB1c2hEb3duSW5s
aW5lU3R5bGVBcm91bmROb2RlKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OndyYXBwaW5nU3R5bGVGb3JTZXJpYWxp
emF0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFZGl0b3I6OmFwcGx5RWRpdGluZ1N0eWxlVG9FbGVtZW50KToKKyAgICAgICAgKiBlZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kOjpyZW1vdmVSZWR1bmRhbnRTdHlsZXNBbmRLZWVwU3R5bGVTcGFuSW5s
aW5lKToKKyAgICAgICAgKiBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvSFRNTE9MaXN0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRhZ05hbWVzLmluOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6YnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVzU3R5bGUpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmJ1aWxkT2JqZWN0Rm9yRWxlbWVudEluZm8pOgorICAgICAgICAqIHBhZ2UvUGFnZVNlcmlh
bGl6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZy
YW1lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpwbGFuQ291bnRlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZXNpemUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0
SXRlbTo6Y2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RJdGVtOjp1cGRh
dGVMaXN0TWFya2VyTnVtYmVycyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6bWFycXVlZVNwZWVkKToKKwog
MjAxMy0xMS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gQ2Fubm90IHNjcm9sbCBpbiBvcHRpb24gbWVudSB3aGVuIGl0IGxhcmdl
ciB0aGFuIHRoZSBzY3JlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA2
Y2E0MzAzZjc1NTdmYzIxNmJhNmJiZTlmM2Q4MzcwZmQxMTRkN2Q3Li44NTgyZjRlZWNkZDI1MTI3
NjgzNTJkOTg2MTRiZmZkM2JiMTUwNzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCkBAIC00MTAsNyArNDEwLDcgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpjbGFzc05hbWVzQWZm
ZWN0ZWRCeVJ1bGVzKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMKIGlubGluZSB2
b2lkIFN0eWxlUmVzb2x2ZXI6OlN0YXRlOjppbml0RWxlbWVudChFbGVtZW50KiBlKQogewogICAg
IG1fZWxlbWVudCA9IGU7Ci0gICAgbV9zdHlsZWRFbGVtZW50ID0gZSAmJiBlLT5pc1N0eWxlZEVs
ZW1lbnQoKSA/IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihlKSA6IDA7CisgICAgbV9zdHls
ZWRFbGVtZW50ID0gZSAmJiBlLT5pc1N0eWxlZEVsZW1lbnQoKSA/IHRvU3R5bGVkRWxlbWVudChl
KSA6IG51bGxwdHI7CiAgICAgbV9lbGVtZW50TGlua1N0YXRlID0gZSA/IGUtPmRvY3VtZW50KCku
dmlzaXRlZExpbmtTdGF0ZSgpLmRldGVybWluZUxpbmtTdGF0ZShlKSA6IE5vdEluc2lkZUxpbms7
CiB9CiAKQEAgLTQ2NSw3ICs0NjUsNyBAQCBOb2RlKiBTdHlsZVJlc29sdmVyOjpsb2NhdGVDb3Vz
aW5MaXN0KEVsZW1lbnQqIHBhcmVudCwgdW5zaWduZWQmIHZpc2l0ZWROb2RlQ291bgogICAgICAg
ICByZXR1cm4gMDsKICAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc1N0eWxlZEVsZW1lbnQo
KSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgU3R5bGVkRWxlbWVudCogcCA9IHN0YXRpY19jYXN0
PFN0eWxlZEVsZW1lbnQqPihwYXJlbnQpOworICAgIFN0eWxlZEVsZW1lbnQqIHAgPSB0b1N0eWxl
ZEVsZW1lbnQocGFyZW50KTsKICAgICBpZiAocC0+aW5saW5lU3R5bGUoKSkKICAgICAgICAgcmV0
dXJuIDA7CiAjaWYgRU5BQkxFKFNWRykKQEAgLTcxMywxMiArNzEzLDEyIEBAIGlubGluZSBTdHls
ZWRFbGVtZW50KiBTdHlsZVJlc29sdmVyOjpmaW5kU2libGluZ0ZvclN0eWxlU2hhcmluZyhOb2Rl
KiBub2RlLCB1bnNpCiAgICAgZm9yICg7IG5vZGU7IG5vZGUgPSBub2RlLT5wcmV2aW91c1NpYmxp
bmcoKSkgewogICAgICAgICBpZiAoIW5vZGUtPmlzU3R5bGVkRWxlbWVudCgpKQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlmIChjYW5TaGFyZVN0eWxlV2l0aEVsZW1lbnQoc3RhdGlj
X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUpKSkKKyAgICAgICAgaWYgKGNhblNoYXJlU3R5bGVX
aXRoRWxlbWVudCh0b1N0eWxlZEVsZW1lbnQobm9kZSkpKQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGlmIChjb3VudCsrID09IGNTdHlsZVNlYXJjaFRocmVzaG9sZCkKICAgICAgICAgICAg
IHJldHVybiAwOwogICAgIH0KLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+
KG5vZGUpOworICAgIHJldHVybiB0b1N0eWxlZEVsZW1lbnQobm9kZSk7CiB9CiAKIFJlbmRlclN0
eWxlKiBTdHlsZVJlc29sdmVyOjpsb2NhdGVTaGFyZWRTdHlsZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQXR0ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAKaW5k
ZXggM2EyMjlmNGI5NGNjNmM0MDZlYTFmNDIzMTZlMzQzMDYwMTdkYmMxYi4uZGJmNDc2M2M2MWQx
NDdmOTFlODU3YjBkODBkMzEwMDA0ODI0MTMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0F0dHIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcApAQCAtMTg5LDcg
KzE4OSw3IEBAIENTU1N0eWxlRGVjbGFyYXRpb24qIEF0dHI6OnN0eWxlKCkKICAgICBpZiAoIW1f
ZWxlbWVudCB8fCAhbV9lbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgbV9zdHlsZSA9IE11dGFibGVTdHlsZVByb3BlcnR5U2V0OjpjcmVhdGUo
KTsKLSAgICBzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obV9lbGVtZW50KS0+Y29sbGVjdFN0
eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKHF1YWxpZmllZE5hbWUoKSwgdmFsdWUoKSwgKm1f
c3R5bGUpOworICAgIHRvU3R5bGVkRWxlbWVudChtX2VsZW1lbnQpLT5jb2xsZWN0U3R5bGVGb3JQ
cmVzZW50YXRpb25BdHRyaWJ1dGUocXVhbGlmaWVkTmFtZSgpLCB2YWx1ZSgpLCAqbV9zdHlsZSk7
CiAgICAgcmV0dXJuIG1fc3R5bGUtPmVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDM5YzkzMjc3MWQ1ODI5NjVmNTI0MjZiMTRmZTI5YWQ3
MzlkZDZkMDAuLjE3NjY2OGY4MDAxNTRkMWE0NGUzOWUyYjFlZGRiYzFjYzgxZGI3ZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKQEAgLTE4OTksNyArMTg5OSw3IEBAIHZvaWQgRWxlbWVudDo6cmVt
b3ZlQXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKICAgICB1bnNpZ25lZCBpbmRl
eCA9IGVsZW1lbnREYXRhKCktPmZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZShsb2NhbE5hbWUsIGZh
bHNlKTsKICAgICBpZiAoaW5kZXggPT0gRWxlbWVudERhdGE6OmF0dHJpYnV0ZU5vdEZvdW5kKSB7
CiAgICAgICAgIGlmIChVTkxJS0VMWShsb2NhbE5hbWUgPT0gc3R5bGVBdHRyKSAmJiBlbGVtZW50
RGF0YSgpLT5tX3N0eWxlQXR0cmlidXRlSXNEaXJ0eSAmJiBpc1N0eWxlZEVsZW1lbnQoKSkKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPih0aGlzKS0+cmVtb3ZlQWxsSW5s
aW5lU3R5bGVQcm9wZXJ0aWVzKCk7CisgICAgICAgICAgICB0b1N0eWxlZEVsZW1lbnQodGhpcykt
PnJlbW92ZUFsbElubGluZVN0eWxlUHJvcGVydGllcygpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCmluZGV4
IDY1NTA5NDM1NjI5ZjBiYTI4ZWNlMTkwMTE2OTZjNGM1ODUyNDRhMDguLmY5YmI2YmNhMzUzYTNk
NjgzMzQyN2RkZDNhZGRlMjYwYzIyOTViNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
QXBwbHlTdHlsZUNvbW1hbmQuY3BwCkBAIC01MTEsNyArNTExLDcgQEAgdm9pZCBBcHBseVN0eWxl
Q29tbWFuZDo6cmVtb3ZlRW1iZWRkaW5nVXBUb0VuY2xvc2luZ0Jsb2NrKE5vZGUqIG5vZGUsIE5v
ZGUqIHVuc3AKICAgICAgICAgaWYgKCFuLT5pc1N0eWxlZEVsZW1lbnQoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTdHlsZWRFbGVtZW50Kj4obik7CisgICAgICAgIFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQgPSB0
b1N0eWxlZEVsZW1lbnQobik7CiAgICAgICAgIGludCB1bmljb2RlQmlkaSA9IHRvSWRlbnRpZmll
cihDb21wdXRlZFN0eWxlRXh0cmFjdG9yKGVsZW1lbnQpLnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVy
dHlVbmljb2RlQmlkaSkpOwogICAgICAgICBpZiAoIXVuaWNvZGVCaWRpIHx8IHVuaWNvZGVCaWRp
ID09IENTU1ZhbHVlTm9ybWFsKQogICAgICAgICAgICAgY29udGludWU7CkBAIC0xMDQyLDcgKzEw
NDIsNyBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpwdXNoRG93bklubGluZVN0eWxlQXJvdW5k
Tm9kZShFZGl0aW5nU3R5bGUqIHN0eWxlLCBOb2RlKgogCiAgICAgICAgIFJlZlB0cjxTdHlsZWRF
bGVtZW50PiBzdHlsZWRFbGVtZW50OwogICAgICAgICBpZiAoY3VycmVudC0+aXNTdHlsZWRFbGVt
ZW50KCkgJiYgaXNTdHlsZWRJbmxpbmVFbGVtZW50VG9SZW1vdmUodG9FbGVtZW50KGN1cnJlbnQu
Z2V0KCkpKSkgewotICAgICAgICAgICAgc3R5bGVkRWxlbWVudCA9IHN0YXRpY19jYXN0PFN0eWxl
ZEVsZW1lbnQqPihjdXJyZW50LmdldCgpKTsKKyAgICAgICAgICAgIHN0eWxlZEVsZW1lbnQgPSB0
b1N0eWxlZEVsZW1lbnQoY3VycmVudC5nZXQoKSk7CiAgICAgICAgICAgICBlbGVtZW50c1RvUHVz
aERvd24uYXBwZW5kKCpzdHlsZWRFbGVtZW50KTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKaW5kZXggOGM1NGE1YmU0MTVmYTZhNDI1ZTdmMGJiNTYz
MGZiNTdiOGU2MjQ2ZC4uYjg0MjY5NmZmMGI5NzYxOGFjYWRiMmI0MzI3NzYyZDRhMjg2ZjBkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcApAQCAtMTA1Myw3ICsxMDUz
LDcgQEAgUGFzc1JlZlB0cjxFZGl0aW5nU3R5bGU+IEVkaXRpbmdTdHlsZTo6d3JhcHBpbmdTdHls
ZUZvclNlcmlhbGl6YXRpb24oTm9kZSogY29udGUKICAgICAvLyBXaGVuIG5vdCBhbm5vdGF0aW5n
IGZvciBpbnRlcmNoYW5nZSwgd2Ugb25seSBwcmVzZXJ2ZSBpbmxpbmUgc3R5bGUgZGVjbGFyYXRp
b25zLgogICAgIGZvciAoTm9kZSogbm9kZSA9IGNvbnRleHQ7IG5vZGUgJiYgIW5vZGUtPmlzRG9j
dW1lbnROb2RlKCk7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKICAgICAgICAgaWYgKG5v
ZGUtPmlzU3R5bGVkRWxlbWVudCgpICYmICFpc01haWxCbG9ja3F1b3RlKG5vZGUpKSB7Ci0gICAg
ICAgICAgICB3cmFwcGluZ1N0eWxlLT5tZXJnZUlubGluZUFuZEltcGxpY2l0U3R5bGVPZkVsZW1l
bnQoc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUpLCBFZGl0aW5nU3R5bGU6OkRvTm90
T3ZlcnJpZGVWYWx1ZXMsCisgICAgICAgICAgICB3cmFwcGluZ1N0eWxlLT5tZXJnZUlubGluZUFu
ZEltcGxpY2l0U3R5bGVPZkVsZW1lbnQodG9TdHlsZWRFbGVtZW50KG5vZGUpLCBFZGl0aW5nU3R5
bGU6OkRvTm90T3ZlcnJpZGVWYWx1ZXMsCiAgICAgICAgICAgICAgICAgRWRpdGluZ1N0eWxlOjpF
ZGl0aW5nUHJvcGVydGllc0luRWZmZWN0KTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmNwcAppbmRleCA0Y2NhM2M1NzA5YWIzZWFhMTY0ZWI3Nzg2YWZkMmI1ZWJmNTNk
NjI4Li4yZDcyMDhkNTAwNWVjOWEzYzQyMDk2MDk4MzliZDQxYzAzOGU1M2EyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yODEyLDcgKzI4MTIsNyBAQCB2b2lkIEVkaXRvcjo6YXBw
bHlFZGl0aW5nU3R5bGVUb0VsZW1lbnQoRWxlbWVudCogZWxlbWVudCkgY29uc3QKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gTXV0YXRlIHVzaW5nIHRoZSBDU1NPTSB3cmFwcGVyIHNvIHdlIGdl
dCB0aGUgc2FtZSBldmVudCBiZWhhdmlvciBhcyBhIHNjcmlwdC4KLSAgICBDU1NTdHlsZURlY2xh
cmF0aW9uKiBzdHlsZSA9IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihlbGVtZW50KS0+c3R5
bGUoKTsKKyAgICBDU1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSA9IHRvU3R5bGVkRWxlbWVudChl
bGVtZW50KS0+c3R5bGUoKTsKICAgICBzdHlsZS0+c2V0UHJvcGVydHlJbnRlcm5hbChDU1NQcm9w
ZXJ0eVdvcmRXcmFwLCAiYnJlYWstd29yZCIsIGZhbHNlLCBJR05PUkVfRVhDRVBUSU9OKTsKICAg
ICBzdHlsZS0+c2V0UHJvcGVydHlJbnRlcm5hbChDU1NQcm9wZXJ0eVdlYmtpdE5ic3BNb2RlLCAi
c3BhY2UiLCBmYWxzZSwgSUdOT1JFX0VYQ0VQVElPTik7CiAgICAgc3R5bGUtPnNldFByb3BlcnR5
SW50ZXJuYWwoQ1NTUHJvcGVydHlXZWJraXRMaW5lQnJlYWssICJhZnRlci13aGl0ZS1zcGFjZSIs
IGZhbHNlLCBJR05PUkVfRVhDRVBUSU9OKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggNzIzYjhjOTI1YTRmMzc0MTAxMGE4
NmY3ZGJkYzg1OGQyYjQyZWJkYS4uZWE1NjIxYjRjY2FmNTkwMGEyNDg3YmEwNzc3MmIzYjY1M2U5
YTRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAKQEAgLTQ4MSw3ICs0ODEsNyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21t
YW5kOjpyZW1vdmVSZWR1bmRhbnRTdHlsZXNBbmRLZWVwU3R5bGVTcGFuSW5saW5lKEluc2VydAog
ICAgICAgICBpZiAoIW5vZGUtPmlzU3R5bGVkRWxlbWVudCgpKQogICAgICAgICAgICAgY29udGlu
dWU7CiAKLSAgICAgICAgU3R5bGVkRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFN0eWxl
ZEVsZW1lbnQqPihub2RlLmdldCgpKTsKKyAgICAgICAgU3R5bGVkRWxlbWVudCogZWxlbWVudCA9
IHRvU3R5bGVkRWxlbWVudChub2RlLmdldCgpKTsKIAogICAgICAgICBjb25zdCBTdHlsZVByb3Bl
cnR5U2V0KiBpbmxpbmVTdHlsZSA9IGVsZW1lbnQtPmlubGluZVN0eWxlKCk7CiAgICAgICAgIFJl
ZlB0cjxFZGl0aW5nU3R5bGU+IG5ld0lubGluZVN0eWxlID0gRWRpdGluZ1N0eWxlOjpjcmVhdGUo
aW5saW5lU3R5bGUpOwpAQCAtNDkzLDcgKzQ5Myw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQ6OnJlbW92ZVJlZHVuZGFudFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoSW5zZXJ0
CiAgICAgICAgICAgICAgICAgaWYgKG5ld0lubGluZVN0eWxlLT5jb25mbGljdHNXaXRoSW1wbGlj
aXRTdHlsZU9mRWxlbWVudChodG1sRWxlbWVudCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8g
ZS5nLiA8YiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPiBpcyBjb252ZXJ0ZWQgdG8gPHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KICAgICAgICAgICAgICAgICAgICAgbm9k
ZSA9IHJlcGxhY2VFbGVtZW50V2l0aFNwYW5QcmVzZXJ2aW5nQ2hpbGRyZW5BbmRBdHRyaWJ1dGVz
KGh0bWxFbGVtZW50KTsKLSAgICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IHN0YXRpY19jYXN0
PFN0eWxlZEVsZW1lbnQqPihub2RlLmdldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgZWxlbWVu
dCA9IHRvU3R5bGVkRWxlbWVudChub2RlLmdldCgpKTsKICAgICAgICAgICAgICAgICAgICAgaW5z
ZXJ0ZWROb2Rlcy5kaWRSZXBsYWNlTm9kZShodG1sRWxlbWVudCwgbm9kZS5nZXQoKSk7CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdJbmxpbmVTdHlsZS0+ZXh0cmFjdENvbmZsaWN0aW5n
SW1wbGljaXRTdHlsZU9mQXR0cmlidXRlcyhodG1sRWxlbWVudCwgRWRpdGluZ1N0eWxlOjpQcmVz
ZXJ2ZVdyaXRpbmdEaXJlY3Rpb24sIDAsIGF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICAgICAg
IEVkaXRpbmdTdHlsZTo6RG9Ob3RFeHRyYWN0TWF0Y2hpbmdTdHlsZSkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNYXJxdWVlRWxlbWVudC5oCmluZGV4IGNiZTIxNTY4MmE2YWU0NmMwMThjZTk4
OGY5YTk4ODE2ZDczZjFmNTEuLjRlYmQ5MmZhZjZmMGM3NjU2NjE0MTJhYjg4MTI5YTRkMzNmMmEx
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaApAQCAtNjQsNiAr
NjQsOCBAQCBwcml2YXRlOgogICAgIFJlbmRlck1hcnF1ZWUqIHJlbmRlck1hcnF1ZWUoKSBjb25z
dDsKIH07CiAKK05PREVfVFlQRV9DQVNUUyhIVE1MTWFycXVlZUVsZW1lbnQpCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEhUTUxNYXJxdWVlRWxlbWVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5oCmluZGV4IDY3MGVkMDBhYzU1ZjU5YWMwZjc1MjMx
MjA2MmJkOWNiZDgwOTY0MzMuLjdlNWM2NWZmMTc3MmM1NDU4OGNkOWM0OTg4M2ZiM2ZhMDM4MTAw
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5oCkBAIC02NSw2ICs2NSw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZFJlY2FsY3VsYXRlSXRlbUNvdW50IDogMTsK
IH07CiAKK05PREVfVFlQRV9DQVNUUyhIVE1MT0xpc3RFbGVtZW50KQogCiB9IC8vbmFtZXNwYWNl
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KaW5kZXggYjhmMmU1MzUzOGFmOTVkZmEy
MDZlYWMwMjNiODk2NjdkN2Q5NTdlYy4uMDlmNjgyNzM1YmMzMzMxNjVmNDkyNTQ4N2YzMzc0NWU0
MDQzZjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KQEAgLTgwLDcgKzgwLDcg
QEAgbGlzdGluZyBpbnRlcmZhY2VOYW1lPUhUTUxQcmVFbGVtZW50CiBtYWluIGludGVyZmFjZU5h
bWU9SFRNTEVsZW1lbnQKIG1hcCBnZW5lcmF0ZVR5cGVIZWxwZXJzCiBtYXJrIGludGVyZmFjZU5h
bWU9SFRNTEVsZW1lbnQKLW1hcnF1ZWUKK21hcnF1ZWUgZ2VuZXJhdGVUeXBlSGVscGVycwogbWVu
dQogbWV0YSBnZW5lcmF0ZVR5cGVIZWxwZXJzCiBtZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxNZXRl
ckVsZW1lbnQsIGNvbmRpdGlvbmFsPU1FVEVSX0VMRU1FTlQsIGdlbmVyYXRlVHlwZUhlbHBlcnMK
QEAgLTkwLDcgKzkwLDcgQEAgbm9lbWJlZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2Zy
YW1lcyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2xheWVyIGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIG9iamVjdCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGNvbnN0cnVjdG9y
TmVlZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRlVHlwZUhlbHBlcnMKLW9sIGludGVyZmFjZU5h
bWU9SFRNTE9MaXN0RWxlbWVudAorb2wgaW50ZXJmYWNlTmFtZT1IVE1MT0xpc3RFbGVtZW50LCBn
ZW5lcmF0ZVR5cGVIZWxwZXJzCiBvcHRncm91cCBpbnRlcmZhY2VOYW1lPUhUTUxPcHRHcm91cEVs
ZW1lbnQsIGdlbmVyYXRlVHlwZUhlbHBlcnMKIG9wdGlvbiBnZW5lcmF0ZVR5cGVIZWxwZXJzCiBv
dXRwdXQgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCA1MWU0OTAyZmRmYzM4MjE0NjFkMGJi
ZGM5YjA0MmM0YWJhMTdlZjVkLi5iOWQxYTE3ZDNiMWMxM2ZjYjdhYmI2ZjJmMjk1OGZiMTRmOWUz
ZGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5j
cHAKQEAgLTEzNDgsNyArMTM0OCw3IEBAIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkNTUzo6Q1NT
U3R5bGU+IEluc3BlY3RvckNTU0FnZW50OjpidWlsZE9iamVjdEZvckF0dHJpYnV0CiAgICAgICAg
IHJldHVybiAwOwogCiAgICAgLy8gRklYTUU6IFVnbGluZXNzIGJlbG93LgotICAgIFN0eWxlUHJv
cGVydHlTZXQqIGF0dHJpYnV0ZVN0eWxlID0gY29uc3RfY2FzdDxTdHlsZVByb3BlcnR5U2V0Kj4o
c3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5wcmVzZW50YXRpb25BdHRyaWJ1
dGVTdHlsZSgpKTsKKyAgICBTdHlsZVByb3BlcnR5U2V0KiBhdHRyaWJ1dGVTdHlsZSA9IGNvbnN0
X2Nhc3Q8U3R5bGVQcm9wZXJ0eVNldCo+KHRvU3R5bGVkRWxlbWVudChlbGVtZW50KS0+cHJlc2Vu
dGF0aW9uQXR0cmlidXRlU3R5bGUoKSk7CiAgICAgaWYgKCFhdHRyaWJ1dGVTdHlsZSkKICAgICAg
ICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAppbmRleCA0ZTgyN2YxMTkwYjZjYTgzOTY0YjcwN2Q4ZDQzYTQyMzgyZDNjOTdkLi42
M2M2MjQzYmI0NGQwMDk5ZGQ5ZTI1ZWNiZTBlZDBlOGE3ZTI1MjgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC02NjcsNyArNjY3LDcgQEAg
c3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvckVsZW1lbnRJ
bmZvKE5vZGUqIG5vZGUpCiAgICAgSGFzaFNldDxBdG9taWNTdHJpbmc+IHVzZWRDbGFzc05hbWVz
OwogICAgIGlmIChlbGVtZW50LT5oYXNDbGFzcygpICYmIGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVu
dCgpKSB7CiAgICAgICAgIFN0cmluZ0J1aWxkZXIgY2xhc3NOYW1lczsKLSAgICAgICAgY29uc3Qg
U3BhY2VTcGxpdFN0cmluZyYgY2xhc3NOYW1lc1N0cmluZyA9IHN0YXRpY19jYXN0PFN0eWxlZEVs
ZW1lbnQqPihlbGVtZW50KS0+Y2xhc3NOYW1lcygpOworICAgICAgICBjb25zdCBTcGFjZVNwbGl0
U3RyaW5nJiBjbGFzc05hbWVzU3RyaW5nID0gdG9TdHlsZWRFbGVtZW50KGVsZW1lbnQpLT5jbGFz
c05hbWVzKCk7CiAgICAgICAgIHNpemVfdCBjbGFzc05hbWVDb3VudCA9IGNsYXNzTmFtZXNTdHJp
bmcuc2l6ZSgpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNsYXNzTmFtZUNvdW50
OyArK2kpIHsKICAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY2xhc3NOYW1lID0gY2xh
c3NOYW1lc1N0cmluZ1tpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNl
cmlhbGl6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAKaW5k
ZXggMGUyZDkyODIzMmJhMTYwZTBjYjg2ZGQ4NGNlOTVlMDdhZWU3ZWJhZS4uNTllZDY0YmM2ODk1
ZDI4MWJiYTZiNzZjN2EwYzc4ZjRjNzJjNzM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlU2VyaWFsaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2Vy
aWFsaXplci5jcHAKQEAgLTIyOSw3ICsyMjksNyBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpzZXJp
YWxpemVGcmFtZShGcmFtZSogZnJhbWUpCiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB0b0Vs
ZW1lbnQobm9kZSk7CiAgICAgICAgIC8vIFdlIGhhdmUgdG8gcHJvY2VzcyBpbi1saW5lIHN0eWxl
IGFzIGl0IG1pZ2h0IGNvbnRhaW4gc29tZSByZXNvdXJjZXMgKHR5cGljYWxseSBiYWNrZ3JvdW5k
IGltYWdlcykuCiAgICAgICAgIGlmIChlbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQoKSkKLSAgICAg
ICAgICAgIHJldHJpZXZlUmVzb3VyY2VzRm9yUHJvcGVydGllcyhzdGF0aWNfY2FzdDxTdHlsZWRF
bGVtZW50Kj4oZWxlbWVudCktPmlubGluZVN0eWxlKCksIGRvY3VtZW50KTsKKyAgICAgICAgICAg
IHJldHJpZXZlUmVzb3VyY2VzRm9yUHJvcGVydGllcyh0b1N0eWxlZEVsZW1lbnQoZWxlbWVudCkt
PmlubGluZVN0eWxlKCksIGRvY3VtZW50KTsKIAogICAgICAgICBpZiAoaXNIVE1MSW1hZ2VFbGVt
ZW50KGVsZW1lbnQpKSB7CiAgICAgICAgICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1l
bnQgPSB0b0hUTUxJbWFnZUVsZW1lbnQoZWxlbWVudCk7CkBAIC0yMzcsNyArMjM3LDcgQEAgdm9p
ZCBQYWdlU2VyaWFsaXplcjo6c2VyaWFsaXplRnJhbWUoRnJhbWUqIGZyYW1lKQogICAgICAgICAg
ICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gaW1hZ2VFbGVtZW50LT5jYWNoZWRJbWFnZSgp
OwogICAgICAgICAgICAgYWRkSW1hZ2VUb1Jlc291cmNlcyhjYWNoZWRJbWFnZSwgaW1hZ2VFbGVt
ZW50LT5yZW5kZXJlcigpLCB1cmwpOwogICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjpsaW5rVGFnKSkgewotICAgICAgICAgICAgSFRNTExpbmtFbGVtZW50
KiBsaW5rRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxMaW5rRWxlbWVudCo+KGVsZW1lbnQpOwor
ICAgICAgICAgICAgSFRNTExpbmtFbGVtZW50KiBsaW5rRWxlbWVudCA9IHRvSFRNTExpbmtFbGVt
ZW50KGVsZW1lbnQpOwogICAgICAgICAgICAgaWYgKENTU1N0eWxlU2hlZXQqIHNoZWV0ID0gbGlu
a0VsZW1lbnQtPnNoZWV0KCkpIHsKICAgICAgICAgICAgICAgICBVUkwgdXJsID0gZG9jdW1lbnQt
PmNvbXBsZXRlVVJMKGxpbmtFbGVtZW50LT5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpocmVmQXR0
cikpOwogICAgICAgICAgICAgICAgIHNlcmlhbGl6ZUNTU1N0eWxlU2hlZXQoc2hlZXQsIHVybCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKaW5kZXggYzA0NDMx
ZDMyMjE4NTVhNzBjMzhkNmI1MjFjYjExODE0Yjk5YTg0OS4uZGU5OTM1OTM2YmRmY2ViMTg4MWEz
N2ZmMmJkMDQ1NGZmNGIwYzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckNvdW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJD
b3VudGVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHN0YXRpYyBib29sIHBsYW5Db3VudGVyKFJl
bmRlckVsZW1lbnQqIG9iamVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZGVudGlmaWVyLCBiCiAg
ICAgICAgIH0KICAgICAgICAgaWYgKEVsZW1lbnQqIGUgPSBvYmplY3QtPmVsZW1lbnQoKSkgewog
ICAgICAgICAgICAgaWYgKGUtPmhhc1RhZ05hbWUob2xUYWcpKSB7Ci0gICAgICAgICAgICAgICAg
dmFsdWUgPSBzdGF0aWNfY2FzdDxIVE1MT0xpc3RFbGVtZW50Kj4oZSktPnN0YXJ0KCk7CisgICAg
ICAgICAgICAgICAgdmFsdWUgPSB0b0hUTUxPTGlzdEVsZW1lbnQoZSktPnN0YXJ0KCk7CiAgICAg
ICAgICAgICAgICAgaXNSZXNldCA9IHRydWU7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCAzYTUxZmEyYzU0YTdmYjM1YmQ2YmUwZTcyMzhiOGYzMWZmMjk2ZTcyLi5kYjljNzQ0OGY3
ZjNjYjliMjE1N2UyYjAzMzM3MjUwNWUwODQzMDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTI1NTAsOCArMjU1MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnJlc2l6ZShjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2dCwgY29uc3QgTGF5b3V0U2l6ZSYg
b2xkT2ZmCiAgICAgCiAgICAgTGF5b3V0U2l6ZSBkaWZmZXJlbmNlID0gKGN1cnJlbnRTaXplICsg
bmV3T2Zmc2V0IC0gYWRqdXN0ZWRPbGRPZmZzZXQpLmV4cGFuZGVkVG8obWluaW11bVNpemUpIC0g
Y3VycmVudFNpemU7CiAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihlbGVt
ZW50LT5pc1N0eWxlZEVsZW1lbnQoKSk7Ci0gICAgU3R5bGVkRWxlbWVudCogc3R5bGVkRWxlbWVu
dCA9IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihlbGVtZW50KTsKKyAgICBTdHlsZWRFbGVt
ZW50KiBzdHlsZWRFbGVtZW50ID0gdG9TdHlsZWRFbGVtZW50KGVsZW1lbnQpOwogICAgIGJvb2wg
aXNCb3hTaXppbmdCb3JkZXIgPSByZW5kZXJlci0+c3R5bGUoKS5ib3hTaXppbmcoKSA9PSBCT1JE
RVJfQk9YOwogCiAgICAgRVJlc2l6ZSByZXNpemUgPSByZW5kZXJlci0+c3R5bGUoKS5yZXNpemUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCmluZGV4IDMz
MmI1ZmNlYjE1ZDc4ZGIzZWQxYmE5ZGZiOTBlNTJkZmNmZjYwYzcuLmFhZmVkMmY0MTdhOTQ2ZjZh
OGIwZjE3NzkzYzMzYTI2ZjFiODY2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RJdGVtLmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIGlubGluZSBpbnQgUmVuZGVyTGlz
dEl0ZW06OmNhbGNWYWx1ZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX2V4cGxpY2l0VmFsdWU7
CiAKICAgICBFbGVtZW50KiBsaXN0ID0gZW5jbG9zaW5nTGlzdCh0aGlzKTsKLSAgICBIVE1MT0xp
c3RFbGVtZW50KiBvTGlzdEVsZW1lbnQgPSAobGlzdCAmJiBsaXN0LT5oYXNUYWdOYW1lKG9sVGFn
KSkgPyBzdGF0aWNfY2FzdDxIVE1MT0xpc3RFbGVtZW50Kj4obGlzdCkgOiAwOworICAgIEhUTUxP
TGlzdEVsZW1lbnQqIG9MaXN0RWxlbWVudCA9IChsaXN0ICYmIGxpc3QtPmhhc1RhZ05hbWUob2xU
YWcpKSA/IHRvSFRNTE9MaXN0RWxlbWVudChsaXN0KSA6IG51bGxwdHI7CiAgICAgaW50IHZhbHVl
U3RlcCA9IDE7CiAgICAgaWYgKG9MaXN0RWxlbWVudCAmJiBvTGlzdEVsZW1lbnQtPmlzUmV2ZXJz
ZWQoKSkKICAgICAgICAgdmFsdWVTdGVwID0gLTE7CkBAIC01MDMsNyArNTAzLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0SXRlbTo6dXBkYXRlTGlzdE1hcmtlck51bWJlcnMoKQogICAgICAgICByZXR1cm47
CiAKICAgICBib29sIGlzTGlzdFJldmVyc2VkID0gZmFsc2U7Ci0gICAgSFRNTE9MaXN0RWxlbWVu
dCogb0xpc3RFbGVtZW50ID0gKGxpc3ROb2RlICYmIGxpc3ROb2RlLT5oYXNUYWdOYW1lKG9sVGFn
KSkgPyBzdGF0aWNfY2FzdDxIVE1MT0xpc3RFbGVtZW50Kj4obGlzdE5vZGUpIDogMDsKKyAgICBI
VE1MT0xpc3RFbGVtZW50KiBvTGlzdEVsZW1lbnQgPSAobGlzdE5vZGUgJiYgbGlzdE5vZGUtPmhh
c1RhZ05hbWUob2xUYWcpKSA/IHRvSFRNTE9MaXN0RWxlbWVudChsaXN0Tm9kZSkgOiBudWxscHRy
OwogICAgIGlmIChvTGlzdEVsZW1lbnQpIHsKICAgICAgICAgb0xpc3RFbGVtZW50LT5pdGVtQ291
bnRDaGFuZ2VkKCk7CiAgICAgICAgIGlzTGlzdFJldmVyc2VkID0gb0xpc3RFbGVtZW50LT5pc1Jl
dmVyc2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFy
cXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKaW5k
ZXggOWI4ZGM2NzI3NGRmZTgzZWNlYTVjYTkwYjA3ZWU3ZTg5MWU5OTIxZi4uZWY5OGY2ZWExYjE3
OTdlZmFkNGM2NTAyMTQ3YzAyZDFkYTNhODJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtNzQsOCArNzQsNyBAQCBpbnQgUmVuZGVyTWFycXVlZTo6
bWFycXVlZVNwZWVkKCkgY29uc3QKICAgICBpbnQgcmVzdWx0ID0gbV9sYXllci0+cmVuZGVyZXIo
KS5zdHlsZSgpLm1hcnF1ZWVTcGVlZCgpOwogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBtX2xheWVy
LT5yZW5kZXJlcigpLmVsZW1lbnQoKTsKICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5oYXNU
YWdOYW1lKG1hcnF1ZWVUYWcpKSB7Ci0gICAgICAgIEhUTUxNYXJxdWVlRWxlbWVudCogbWFycXVl
ZUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWFycXVlZUVsZW1lbnQqPihlbGVtZW50KTsKLSAg
ICAgICAgcmVzdWx0ID0gc3RkOjptYXgocmVzdWx0LCBtYXJxdWVlRWxlbWVudC0+bWluaW11bURl
bGF5KCkpOworICAgICAgICByZXN1bHQgPSBzdGQ6Om1heChyZXN1bHQsIHRvSFRNTE1hcnF1ZWVF
bGVtZW50KGVsZW1lbnQpLT5taW5pbXVtRGVsYXkoKSk7CiAgICAgfQogICAgIHJldHVybiByZXN1
bHQ7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217742</attachid>
            <date>2013-11-22 23:44:25 -0800</date>
            <delta_ts>2013-11-24 07:23:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124707-20131123164424.patch</filename>
            <type>text/plain</type>
            <size>19022</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFjNjgyODBiNTBhMGVh
ZWRjYjg3ZjFlY2VmNGFmNzAyN2Q4YjI0Yy4uY2E4ODNkN2QxMWQ3MzNkNDM4NTU2ZDFlZGE5OTVl
ZDE0ODI2Y2U4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTExLTIyICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgR2VuZXJhdGUg
dG9IVE1MTWFycXVlZXxPTGlzdEVsZW1lbnQoKSB0byBjbGVhbnVwIHN0YXRpY19jYXN0PD4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDcwNworCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFzIGEgc3RlcCB0byB1
c2UgdG9Gb28oKSwgd2UgbmVlZCB0byBnZW5lcmF0ZSB0b0hUTUxNYXJxdWVlfE9MaXN0RWxlbWVu
dCgpLgorICAgICAgICBCZXNpZGVzIHRoaXMgcGF0Y2ggY2xlYW5zIHVwIHJlbWFpbmluZyBzdGF0
aWNfY2FzdDw+IHVzYWdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlcy4KKworICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmVzb2x2ZXI6OlN0YXRlOjppbml0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJlc29sdmVyOjpsb2NhdGVDb3VzaW5MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUmVzb2x2ZXI6OmZpbmRTaWJsaW5nRm9yU3R5bGVTaGFyaW5nKToKKyAgICAgICAgKiBkb20v
QXR0ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdHRyOjpzdHlsZSk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlQXR0cmlidXRl
KToKKyAgICAgICAgKiBlZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVFbWJlZGRpbmdVcFRvRW5jbG9zaW5nQmxv
Y2spOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OnB1c2hEb3duSW5saW5l
U3R5bGVBcm91bmROb2RlKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OndyYXBwaW5nU3R5bGVGb3JTZXJpYWxpemF0
aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OmFwcGx5RWRpdGluZ1N0eWxlVG9FbGVtZW50KToKKyAgICAgICAgKiBlZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kOjpyZW1vdmVSZWR1bmRhbnRTdHlsZXNBbmRLZWVwU3R5bGVTcGFuSW5saW5l
KToKKyAgICAgICAgKiBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
SFRNTE9MaXN0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRhZ05hbWVzLmluOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDU1NBZ2VudDo6YnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVzU3R5bGUpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmJ1aWxkT2JqZWN0Rm9yRWxlbWVudEluZm8pOgorICAgICAgICAqIHBhZ2UvUGFnZVNlcmlhbGl6
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZyYW1l
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpwbGFuQ291bnRlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZXNpemUpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0SXRl
bTo6Y2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RJdGVtOjp1cGRhdGVM
aXN0TWFya2VyTnVtYmVycyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6bWFycXVlZVNwZWVkKToKKwogMjAx
My0xMS0yMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFj
XSBDYW4ndCBkcmFnIGZ1bGwtc2NyZWVuIHZpZGVvIHRvIGFub3RoZXIgbW9uaXRvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDZjYTQzMDNmNzU1N2ZjMjE2YmE2YmJlOWYz
ZDgzNzBmZDExNGQ3ZDcuLjg1ODJmNGVlY2RkMjUxMjc2ODM1MmQ5ODYxNGJmZmQzYmIxNTA3N2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTQxMCw3ICs0MTAsNyBAQCBi
b29sIFN0eWxlUmVzb2x2ZXI6OmNsYXNzTmFtZXNBZmZlY3RlZEJ5UnVsZXMoY29uc3QgU3BhY2VT
cGxpdFN0cmluZyYgY2xhc3NOYW1lcwogaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6U3RhdGU6
OmluaXRFbGVtZW50KEVsZW1lbnQqIGUpCiB7CiAgICAgbV9lbGVtZW50ID0gZTsKLSAgICBtX3N0
eWxlZEVsZW1lbnQgPSBlICYmIGUtPmlzU3R5bGVkRWxlbWVudCgpID8gc3RhdGljX2Nhc3Q8U3R5
bGVkRWxlbWVudCo+KGUpIDogMDsKKyAgICBtX3N0eWxlZEVsZW1lbnQgPSBlICYmIGUtPmlzU3R5
bGVkRWxlbWVudCgpID8gdG9TdHlsZWRFbGVtZW50KGUpIDogbnVsbHB0cjsKICAgICBtX2VsZW1l
bnRMaW5rU3RhdGUgPSBlID8gZS0+ZG9jdW1lbnQoKS52aXNpdGVkTGlua1N0YXRlKCkuZGV0ZXJt
aW5lTGlua1N0YXRlKGUpIDogTm90SW5zaWRlTGluazsKIH0KIApAQCAtNDY1LDcgKzQ2NSw3IEBA
IE5vZGUqIFN0eWxlUmVzb2x2ZXI6OmxvY2F0ZUNvdXNpbkxpc3QoRWxlbWVudCogcGFyZW50LCB1
bnNpZ25lZCYgdmlzaXRlZE5vZGVDb3VuCiAgICAgICAgIHJldHVybiAwOwogICAgIGlmICghcGFy
ZW50IHx8ICFwYXJlbnQtPmlzU3R5bGVkRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gMDsKLSAg
ICBTdHlsZWRFbGVtZW50KiBwID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KHBhcmVudCk7
CisgICAgU3R5bGVkRWxlbWVudCogcCA9IHRvU3R5bGVkRWxlbWVudChwYXJlbnQpOwogICAgIGlm
IChwLT5pbmxpbmVTdHlsZSgpKQogICAgICAgICByZXR1cm4gMDsKICNpZiBFTkFCTEUoU1ZHKQpA
QCAtNzEzLDEyICs3MTMsMTIgQEAgaW5saW5lIFN0eWxlZEVsZW1lbnQqIFN0eWxlUmVzb2x2ZXI6
OmZpbmRTaWJsaW5nRm9yU3R5bGVTaGFyaW5nKE5vZGUqIG5vZGUsIHVuc2kKICAgICBmb3IgKDsg
bm9kZTsgbm9kZSA9IG5vZGUtPnByZXZpb3VzU2libGluZygpKSB7CiAgICAgICAgIGlmICghbm9k
ZS0+aXNTdHlsZWRFbGVtZW50KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYg
KGNhblNoYXJlU3R5bGVXaXRoRWxlbWVudChzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obm9k
ZSkpKQorICAgICAgICBpZiAoY2FuU2hhcmVTdHlsZVdpdGhFbGVtZW50KHRvU3R5bGVkRWxlbWVu
dChub2RlKSkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKGNvdW50KysgPT0gY1N0
eWxlU2VhcmNoVGhyZXNob2xkKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obm9kZSk7CisgICAgcmV0dXJuIHRvU3R5
bGVkRWxlbWVudChub2RlKTsKIH0KIAogUmVuZGVyU3R5bGUqIFN0eWxlUmVzb2x2ZXI6OmxvY2F0
ZVNoYXJlZFN0eWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcAppbmRleCAzYTIyOWY0Yjk0Y2M2YzQwNmVhMWY0
MjMxNmUzNDMwNjAxN2RiYzFiLi5kYmY0NzYzYzYxZDE0N2Y5MWU4NTdiMGQ4MGQzMTAwMDQ4MjQx
MzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0F0dHIuY3BwCkBAIC0xODksNyArMTg5LDcgQEAgQ1NTU3R5bGVEZWNsYXJh
dGlvbiogQXR0cjo6c3R5bGUoKQogICAgIGlmICghbV9lbGVtZW50IHx8ICFtX2VsZW1lbnQtPmlz
U3R5bGVkRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBtX3N0eWxlID0g
TXV0YWJsZVN0eWxlUHJvcGVydHlTZXQ6OmNyZWF0ZSgpOwotICAgIHN0YXRpY19jYXN0PFN0eWxl
ZEVsZW1lbnQqPihtX2VsZW1lbnQpLT5jb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1
dGUocXVhbGlmaWVkTmFtZSgpLCB2YWx1ZSgpLCAqbV9zdHlsZSk7CisgICAgdG9TdHlsZWRFbGVt
ZW50KG1fZWxlbWVudCktPmNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShxdWFs
aWZpZWROYW1lKCksIHZhbHVlKCksICptX3N0eWxlKTsKICAgICByZXR1cm4gbV9zdHlsZS0+ZW5z
dXJlQ1NTU3R5bGVEZWNsYXJhdGlvbigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXgg
MzljOTMyNzcxZDU4Mjk2NWY1MjQyNmIxNGZlMjlhZDczOWRkNmQwMC4uMTc2NjY4ZjgwMDE1NGQx
YTQ0ZTM5ZTJiMWVkZGJjMWNjODFkYjdlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTg5
OSw3ICsxODk5LDcgQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGUoY29uc3QgQXRvbWlj
U3RyaW5nJiBuYW1lKQogICAgIHVuc2lnbmVkIGluZGV4ID0gZWxlbWVudERhdGEoKS0+ZmluZEF0
dHJpYnV0ZUluZGV4QnlOYW1lKGxvY2FsTmFtZSwgZmFsc2UpOwogICAgIGlmIChpbmRleCA9PSBF
bGVtZW50RGF0YTo6YXR0cmlidXRlTm90Rm91bmQpIHsKICAgICAgICAgaWYgKFVOTElLRUxZKGxv
Y2FsTmFtZSA9PSBzdHlsZUF0dHIpICYmIGVsZW1lbnREYXRhKCktPm1fc3R5bGVBdHRyaWJ1dGVJ
c0RpcnR5ICYmIGlzU3R5bGVkRWxlbWVudCgpKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8U3R5
bGVkRWxlbWVudCo+KHRoaXMpLT5yZW1vdmVBbGxJbmxpbmVTdHlsZVByb3BlcnRpZXMoKTsKKyAg
ICAgICAgICAgIHRvU3R5bGVkRWxlbWVudCh0aGlzKS0+cmVtb3ZlQWxsSW5saW5lU3R5bGVQcm9w
ZXJ0aWVzKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAKaW5kZXggNjU1MDk0MzU2MjlmMGJhMjhlY2UxOTAx
MTY5NmM0YzU4NTI0NGEwOC4uZjliYjZiY2EzNTNhM2Q2ODMzNDI3ZGRkM2FkZGUyNjBjMjI5NWI2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAKQEAg
LTUxMSw3ICs1MTEsNyBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVFbWJlZGRpbmdV
cFRvRW5jbG9zaW5nQmxvY2soTm9kZSogbm9kZSwgTm9kZSogdW5zcAogICAgICAgICBpZiAoIW4t
PmlzU3R5bGVkRWxlbWVudCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgU3R5
bGVkRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihuKTsKKyAg
ICAgICAgU3R5bGVkRWxlbWVudCogZWxlbWVudCA9IHRvU3R5bGVkRWxlbWVudChuKTsKICAgICAg
ICAgaW50IHVuaWNvZGVCaWRpID0gdG9JZGVudGlmaWVyKENvbXB1dGVkU3R5bGVFeHRyYWN0b3Io
ZWxlbWVudCkucHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpKSk7CiAgICAgICAg
IGlmICghdW5pY29kZUJpZGkgfHwgdW5pY29kZUJpZGkgPT0gQ1NTVmFsdWVOb3JtYWwpCiAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTEwNDIsNyArMTA0Miw3IEBAIHZvaWQgQXBwbHlTdHlsZUNv
bW1hbmQ6OnB1c2hEb3duSW5saW5lU3R5bGVBcm91bmROb2RlKEVkaXRpbmdTdHlsZSogc3R5bGUs
IE5vZGUqCiAKICAgICAgICAgUmVmUHRyPFN0eWxlZEVsZW1lbnQ+IHN0eWxlZEVsZW1lbnQ7CiAg
ICAgICAgIGlmIChjdXJyZW50LT5pc1N0eWxlZEVsZW1lbnQoKSAmJiBpc1N0eWxlZElubGluZUVs
ZW1lbnRUb1JlbW92ZSh0b0VsZW1lbnQoY3VycmVudC5nZXQoKSkpKSB7Ci0gICAgICAgICAgICBz
dHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KGN1cnJlbnQuZ2V0KCkp
OworICAgICAgICAgICAgc3R5bGVkRWxlbWVudCA9IHRvU3R5bGVkRWxlbWVudChjdXJyZW50Lmdl
dCgpKTsKICAgICAgICAgICAgIGVsZW1lbnRzVG9QdXNoRG93bi5hcHBlbmQoKnN0eWxlZEVsZW1l
bnQpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dGluZ1N0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcApp
bmRleCA4YzU0YTViZTQxNWZhNmE0MjVlN2YwYmI1NjMwZmI1N2I4ZTYyNDZkLi5iODQyNjk2ZmYw
Yjk3NjE4YWNhZGIyYjQzMjc3NjJkNGEyODZmMGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nU3R5bGUuY3BwCkBAIC0xMDUzLDcgKzEwNTMsNyBAQCBQYXNzUmVmUHRyPEVkaXRpbmdT
dHlsZT4gRWRpdGluZ1N0eWxlOjp3cmFwcGluZ1N0eWxlRm9yU2VyaWFsaXphdGlvbihOb2RlKiBj
b250ZQogICAgIC8vIFdoZW4gbm90IGFubm90YXRpbmcgZm9yIGludGVyY2hhbmdlLCB3ZSBvbmx5
IHByZXNlcnZlIGlubGluZSBzdHlsZSBkZWNsYXJhdGlvbnMuCiAgICAgZm9yIChOb2RlKiBub2Rl
ID0gY29udGV4dDsgbm9kZSAmJiAhbm9kZS0+aXNEb2N1bWVudE5vZGUoKTsgbm9kZSA9IG5vZGUt
PnBhcmVudE5vZGUoKSkgewogICAgICAgICBpZiAobm9kZS0+aXNTdHlsZWRFbGVtZW50KCkgJiYg
IWlzTWFpbEJsb2NrcXVvdGUobm9kZSkpIHsKLSAgICAgICAgICAgIHdyYXBwaW5nU3R5bGUtPm1l
cmdlSW5saW5lQW5kSW1wbGljaXRTdHlsZU9mRWxlbWVudChzdGF0aWNfY2FzdDxTdHlsZWRFbGVt
ZW50Kj4obm9kZSksIEVkaXRpbmdTdHlsZTo6RG9Ob3RPdmVycmlkZVZhbHVlcywKKyAgICAgICAg
ICAgIHdyYXBwaW5nU3R5bGUtPm1lcmdlSW5saW5lQW5kSW1wbGljaXRTdHlsZU9mRWxlbWVudCh0
b1N0eWxlZEVsZW1lbnQobm9kZSksIEVkaXRpbmdTdHlsZTo6RG9Ob3RPdmVycmlkZVZhbHVlcywK
ICAgICAgICAgICAgICAgICBFZGl0aW5nU3R5bGU6OkVkaXRpbmdQcm9wZXJ0aWVzSW5FZmZlY3Qp
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDRjY2Ez
YzU3MDlhYjNlYWExNjRlYjc3ODZhZmQyYjVlYmY1M2Q2MjguLjJkNzIwOGQ1MDA1ZWM5YTNjNDIw
OTYwOTgzOWJkNDFjMDM4ZTUzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI4
MTIsNyArMjgxMiw3IEBAIHZvaWQgRWRpdG9yOjphcHBseUVkaXRpbmdTdHlsZVRvRWxlbWVudChF
bGVtZW50KiBlbGVtZW50KSBjb25zdAogICAgICAgICByZXR1cm47CiAKICAgICAvLyBNdXRhdGUg
dXNpbmcgdGhlIENTU09NIHdyYXBwZXIgc28gd2UgZ2V0IHRoZSBzYW1lIGV2ZW50IGJlaGF2aW9y
IGFzIGEgc2NyaXB0LgotICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlID0gc3RhdGljX2Nh
c3Q8U3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5zdHlsZSgpOworICAgIENTU1N0eWxlRGVjbGFy
YXRpb24qIHN0eWxlID0gdG9TdHlsZWRFbGVtZW50KGVsZW1lbnQpLT5zdHlsZSgpOwogICAgIHN0
eWxlLT5zZXRQcm9wZXJ0eUludGVybmFsKENTU1Byb3BlcnR5V29yZFdyYXAsICJicmVhay13b3Jk
IiwgZmFsc2UsIElHTk9SRV9FWENFUFRJT04pOwogICAgIHN0eWxlLT5zZXRQcm9wZXJ0eUludGVy
bmFsKENTU1Byb3BlcnR5V2Via2l0TmJzcE1vZGUsICJzcGFjZSIsIGZhbHNlLCBJR05PUkVfRVhD
RVBUSU9OKTsKICAgICBzdHlsZS0+c2V0UHJvcGVydHlJbnRlcm5hbChDU1NQcm9wZXJ0eVdlYmtp
dExpbmVCcmVhaywgImFmdGVyLXdoaXRlLXNwYWNlIiwgZmFsc2UsIElHTk9SRV9FWENFUFRJT04p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcAppbmRleCA3MjNiOGM5MjVhNGYzNzQxMDEwYTg2ZjdkYmRjODU4ZDJiNDJlYmRhLi5lYTU2
MjFiNGNjYWY1OTAwYTI0ODdiYTA3NzcyYjNiNjUzZTlhNGY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNDgxLDcgKzQ4
MSw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudFN0eWxl
c0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoSW5zZXJ0CiAgICAgICAgIGlmICghbm9kZS0+aXNTdHls
ZWRFbGVtZW50KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBTdHlsZWRFbGVt
ZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUuZ2V0KCkpOwor
ICAgICAgICBTdHlsZWRFbGVtZW50KiBlbGVtZW50ID0gdG9TdHlsZWRFbGVtZW50KG5vZGUuZ2V0
KCkpOwogCiAgICAgICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTZXQqIGlubGluZVN0eWxlID0gZWxl
bWVudC0+aW5saW5lU3R5bGUoKTsKICAgICAgICAgUmVmUHRyPEVkaXRpbmdTdHlsZT4gbmV3SW5s
aW5lU3R5bGUgPSBFZGl0aW5nU3R5bGU6OmNyZWF0ZShpbmxpbmVTdHlsZSk7CkBAIC00OTMsNyAr
NDkzLDcgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5kYW50U3R5
bGVzQW5kS2VlcFN0eWxlU3BhbklubGluZShJbnNlcnQKICAgICAgICAgICAgICAgICBpZiAobmV3
SW5saW5lU3R5bGUtPmNvbmZsaWN0c1dpdGhJbXBsaWNpdFN0eWxlT2ZFbGVtZW50KGh0bWxFbGVt
ZW50KSkgewogICAgICAgICAgICAgICAgICAgICAvLyBlLmcuIDxiIHN0eWxlPSJmb250LXdlaWdo
dDogbm9ybWFsOyI+IGlzIGNvbnZlcnRlZCB0byA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5v
cm1hbDsiPgogICAgICAgICAgICAgICAgICAgICBub2RlID0gcmVwbGFjZUVsZW1lbnRXaXRoU3Bh
blByZXNlcnZpbmdDaGlsZHJlbkFuZEF0dHJpYnV0ZXMoaHRtbEVsZW1lbnQpOwotICAgICAgICAg
ICAgICAgICAgICBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUuZ2V0
KCkpOworICAgICAgICAgICAgICAgICAgICBlbGVtZW50ID0gdG9TdHlsZWRFbGVtZW50KG5vZGUu
Z2V0KCkpOwogICAgICAgICAgICAgICAgICAgICBpbnNlcnRlZE5vZGVzLmRpZFJlcGxhY2VOb2Rl
KGh0bWxFbGVtZW50LCBub2RlLmdldCgpKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5l
d0lubGluZVN0eWxlLT5leHRyYWN0Q29uZmxpY3RpbmdJbXBsaWNpdFN0eWxlT2ZBdHRyaWJ1dGVz
KGh0bWxFbGVtZW50LCBFZGl0aW5nU3R5bGU6OlByZXNlcnZlV3JpdGluZ0RpcmVjdGlvbiwgMCwg
YXR0cmlidXRlcywKICAgICAgICAgICAgICAgICAgICAgRWRpdGluZ1N0eWxlOjpEb05vdEV4dHJh
Y3RNYXRjaGluZ1N0eWxlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWFycXVlZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50
LmgKaW5kZXggY2JlMjE1NjgyYTZhZTQ2YzAxOGNlOTg4ZjlhOTg4MTZkNzNmMWY1MS4uNGViZDky
ZmFmNmYwYzc2NTY2MTQxMmFiODgxMjlhNGQzM2YyYTFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNYXJxdWVlRWxlbWVudC5oCkBAIC02NCw2ICs2NCw4IEBAIHByaXZhdGU6CiAgICAgUmVu
ZGVyTWFycXVlZSogcmVuZGVyTWFycXVlZSgpIGNvbnN0OwogfTsKIAorTk9ERV9UWVBFX0NBU1RT
KEhUTUxNYXJxdWVlRWxlbWVudCkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gSFRNTE1hcnF1ZWVFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9MaXN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT0xpc3RFbGVtZW50
LmgKaW5kZXggNjcwZWQwMGFjNTVmNTlhYzBmNzUyMzEyMDYyYmQ5Y2JkODA5NjQzMy4uN2U1YzY1
ZmYxNzcyYzU0NTg4Y2Q5YzQ5ODgzZmIzZmEwMzgxMDA2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT0xpc3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT0xpc3RFbGVtZW50LmgKQEAgLTY1LDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
c2hvdWxkUmVjYWxjdWxhdGVJdGVtQ291bnQgOiAxOwogfTsKIAorTk9ERV9UWVBFX0NBU1RTKEhU
TUxPTGlzdEVsZW1lbnQpCiAKIH0gLy9uYW1lc3BhY2UKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWdO
YW1lcy5pbgppbmRleCBiOGYyZTUzNTM4YWY5NWRmYTIwNmVhYzAyM2I4OTY2N2Q3ZDk1N2VjLi4w
OWY2ODI3MzViYzMzMzE2NWY0OTI1NDg3ZjMzNzQ1ZTQwNDNmM2MyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUYWdOYW1lcy5pbgpAQCAtODAsNyArODAsNyBAQCBsaXN0aW5nIGludGVyZmFjZU5hbWU9
SFRNTFByZUVsZW1lbnQKIG1haW4gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbWFwIGdlbmVy
YXRlVHlwZUhlbHBlcnMKIG1hcmsgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotbWFycXVlZQor
bWFycXVlZSBnZW5lcmF0ZVR5cGVIZWxwZXJzCiBtZW51CiBtZXRhIGdlbmVyYXRlVHlwZUhlbHBl
cnMKIG1ldGVyIGludGVyZmFjZU5hbWU9SFRNTE1ldGVyRWxlbWVudCwgY29uZGl0aW9uYWw9TUVU
RVJfRUxFTUVOVCwgZ2VuZXJhdGVUeXBlSGVscGVycwpAQCAtOTAsNyArOTAsNyBAQCBub2VtYmVk
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vZnJhbWVzIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKIG5vbGF5ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogb2JqZWN0IGNvbnN0cnVj
dG9yTmVlZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2Vu
ZXJhdGVUeXBlSGVscGVycwotb2wgaW50ZXJmYWNlTmFtZT1IVE1MT0xpc3RFbGVtZW50CitvbCBp
bnRlcmZhY2VOYW1lPUhUTUxPTGlzdEVsZW1lbnQsIGdlbmVyYXRlVHlwZUhlbHBlcnMKIG9wdGdy
b3VwIGludGVyZmFjZU5hbWU9SFRNTE9wdEdyb3VwRWxlbWVudCwgZ2VuZXJhdGVUeXBlSGVscGVy
cwogb3B0aW9uIGdlbmVyYXRlVHlwZUhlbHBlcnMKIG91dHB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9y
bUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwCmluZGV4IDUxZTQ5MDJmZGZjMzgyMTQ2MWQwYmJkYzliMDQyYzRhYmExN2VmNWQuLmI5ZDFh
MTdkM2IxYzEzZmNiN2FiYjZmMmYyOTU4ZmIxNGY5ZTNkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMTM0OCw3ICsxMzQ4LDcgQEAg
UGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6Q1NTOjpDU1NTdHlsZT4gSW5zcGVjdG9yQ1NTQWdlbnQ6
OmJ1aWxkT2JqZWN0Rm9yQXR0cmlidXQKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAvLyBGSVhN
RTogVWdsaW5lc3MgYmVsb3cuCi0gICAgU3R5bGVQcm9wZXJ0eVNldCogYXR0cmlidXRlU3R5bGUg
PSBjb25zdF9jYXN0PFN0eWxlUHJvcGVydHlTZXQqPihzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50
Kj4oZWxlbWVudCktPnByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKCkpOworICAgIFN0eWxlUHJv
cGVydHlTZXQqIGF0dHJpYnV0ZVN0eWxlID0gY29uc3RfY2FzdDxTdHlsZVByb3BlcnR5U2V0Kj4o
dG9TdHlsZWRFbGVtZW50KGVsZW1lbnQpLT5wcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZSgpKTsK
ICAgICBpZiAoIWF0dHJpYnV0ZVN0eWxlKQogICAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDgxZWJhMGI0NDQ5
MDJlMmEyZWEyMTUwNDZlMjdhMjRiNTI1YTM0M2EuLmEzNmI0NWExMmQ1YjE4MTAwODVmOGVhYTgw
MjNiZDFkYmNlYWQ3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHAKQEAgLTYzOCw3ICs2MzgsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGJ1aWxkT2JqZWN0Rm9yRWxlbWVudEluZm8oTm9kZSogbm9kZSkKICAgICBIYXNo
U2V0PEF0b21pY1N0cmluZz4gdXNlZENsYXNzTmFtZXM7CiAgICAgaWYgKGVsZW1lbnQtPmhhc0Ns
YXNzKCkgJiYgZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50KCkpIHsKICAgICAgICAgU3RyaW5nQnVp
bGRlciBjbGFzc05hbWVzOwotICAgICAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05h
bWVzU3RyaW5nID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5jbGFzc05h
bWVzKCk7CisgICAgICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXNTdHJpbmcg
PSB0b1N0eWxlZEVsZW1lbnQoZWxlbWVudCktPmNsYXNzTmFtZXMoKTsKICAgICAgICAgc2l6ZV90
IGNsYXNzTmFtZUNvdW50ID0gY2xhc3NOYW1lc1N0cmluZy5zaXplKCk7CiAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgY2xhc3NOYW1lQ291bnQ7ICsraSkgewogICAgICAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBjbGFzc05hbWUgPSBjbGFzc05hbWVzU3RyaW5nW2ldOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAppbmRleCAwZTJkOTI4MjMyYmExNjBlMGNiODZk
ZDg0Y2U5NWUwN2FlZTdlYmFlLi41OWVkNjRiYzY4OTVkMjgxYmJhNmI3NmM3YTBjNzhmNGM3MmM3
MzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcApAQCAtMjI5LDcgKzIy
OSw3IEBAIHZvaWQgUGFnZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZUZyYW1lKEZyYW1lKiBmcmFtZSkK
ICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxlbWVudChub2RlKTsKICAgICAgICAgLy8g
V2UgaGF2ZSB0byBwcm9jZXNzIGluLWxpbmUgc3R5bGUgYXMgaXQgbWlnaHQgY29udGFpbiBzb21l
IHJlc291cmNlcyAodHlwaWNhbGx5IGJhY2tncm91bmQgaW1hZ2VzKS4KICAgICAgICAgaWYgKGVs
ZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKQotICAgICAgICAgICAgcmV0cmlldmVSZXNvdXJjZXNG
b3JQcm9wZXJ0aWVzKHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihlbGVtZW50KS0+aW5saW5l
U3R5bGUoKSwgZG9jdW1lbnQpOworICAgICAgICAgICAgcmV0cmlldmVSZXNvdXJjZXNGb3JQcm9w
ZXJ0aWVzKHRvU3R5bGVkRWxlbWVudChlbGVtZW50KS0+aW5saW5lU3R5bGUoKSwgZG9jdW1lbnQp
OwogCiAgICAgICAgIGlmIChpc0hUTUxJbWFnZUVsZW1lbnQoZWxlbWVudCkpIHsKICAgICAgICAg
ICAgIEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHRvSFRNTEltYWdlRWxlbWVudChl
bGVtZW50KTsKQEAgLTIzNyw3ICsyMzcsNyBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpzZXJpYWxp
emVGcmFtZShGcmFtZSogZnJhbWUpCiAgICAgICAgICAgICBDYWNoZWRJbWFnZSogY2FjaGVkSW1h
Z2UgPSBpbWFnZUVsZW1lbnQtPmNhY2hlZEltYWdlKCk7CiAgICAgICAgICAgICBhZGRJbWFnZVRv
UmVzb3VyY2VzKGNhY2hlZEltYWdlLCBpbWFnZUVsZW1lbnQtPnJlbmRlcmVyKCksIHVybCk7CiAg
ICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxpbmtUYWcp
KSB7Ci0gICAgICAgICAgICBIVE1MTGlua0VsZW1lbnQqIGxpbmtFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8SFRNTExpbmtFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgICAgICBIVE1MTGlua0VsZW1l
bnQqIGxpbmtFbGVtZW50ID0gdG9IVE1MTGlua0VsZW1lbnQoZWxlbWVudCk7CiAgICAgICAgICAg
ICBpZiAoQ1NTU3R5bGVTaGVldCogc2hlZXQgPSBsaW5rRWxlbWVudC0+c2hlZXQoKSkgewogICAg
ICAgICAgICAgICAgIFVSTCB1cmwgPSBkb2N1bWVudC0+Y29tcGxldGVVUkwobGlua0VsZW1lbnQt
PmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKSk7CiAgICAgICAgICAgICAgICAgc2Vy
aWFsaXplQ1NTU3R5bGVTaGVldChzaGVldCwgdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJDb3VudGVyLmNwcAppbmRleCBjMDQ0MzFkMzIyMTg1NWE3MGMzOGQ2YjUyMWNiMTE4
MTRiOTlhODQ5Li5kZTk5MzU5MzZiZGZjZWIxODgxYTM3ZmYyYmQwNDU0ZmY0YjBjOGYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCkBAIC0xNDcsNyArMTQ3
LDcgQEAgc3RhdGljIGJvb2wgcGxhbkNvdW50ZXIoUmVuZGVyRWxlbWVudCogb2JqZWN0LCBjb25z
dCBBdG9taWNTdHJpbmcmIGlkZW50aWZpZXIsIGIKICAgICAgICAgfQogICAgICAgICBpZiAoRWxl
bWVudCogZSA9IG9iamVjdC0+ZWxlbWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoZS0+aGFzVGFn
TmFtZShvbFRhZykpIHsKLSAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PEhUTUxP
TGlzdEVsZW1lbnQqPihlKS0+c3RhcnQoKTsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHRvSFRN
TE9MaXN0RWxlbWVudChlKS0+c3RhcnQoKTsKICAgICAgICAgICAgICAgICBpc1Jlc2V0ID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDAwY2U1NDZhZDJhMDViYjI5ZjQ4
MDM2OGJiZWU3ZmY3MjkxN2ZhNjMuLjQ3YjI3YjVhNDUxMGUyYjMxNjFlMjcxOGVlNjA1NDQ3MzBl
YzY0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU1
MCw4ICsyNTUwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cmVzaXplKGNvbnN0IFBsYXRmb3JtTW91
c2VFdmVudCYgZXZ0LCBjb25zdCBMYXlvdXRTaXplJiBvbGRPZmYKICAgICAKICAgICBMYXlvdXRT
aXplIGRpZmZlcmVuY2UgPSAoY3VycmVudFNpemUgKyBuZXdPZmZzZXQgLSBhZGp1c3RlZE9sZE9m
ZnNldCkuZXhwYW5kZWRUbyhtaW5pbXVtU2l6ZSkgLSBjdXJyZW50U2l6ZTsKIAotICAgIEFTU0VS
VF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKTsK
LSAgICBTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxl
bWVudCo+KGVsZW1lbnQpOworICAgIFN0eWxlZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSB0b1N0
eWxlZEVsZW1lbnQoZWxlbWVudCk7CiAgICAgYm9vbCBpc0JveFNpemluZ0JvcmRlciA9IHJlbmRl
cmVyLT5zdHlsZSgpLmJveFNpemluZygpID09IEJPUkRFUl9CT1g7CiAKICAgICBFUmVzaXplIHJl
c2l6ZSA9IHJlbmRlcmVyLT5zdHlsZSgpLnJlc2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKaW5kZXggMzMyYjVmY2ViMTVkNzhkYjNlZDFiYTlkZmI5
MGU1MmRmY2ZmNjBjNy4uYWFmZWQyZjQxN2E5NDZmNmE4YjBmMTc3OTNjMzNhMjZmMWI4NjY1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCkBAIC0xOTMs
NyArMTkzLDcgQEAgaW5saW5lIGludCBSZW5kZXJMaXN0SXRlbTo6Y2FsY1ZhbHVlKCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIG1fZXhwbGljaXRWYWx1ZTsKIAogICAgIEVsZW1lbnQqIGxpc3QgPSBl
bmNsb3NpbmdMaXN0KHRoaXMpOwotICAgIEhUTUxPTGlzdEVsZW1lbnQqIG9MaXN0RWxlbWVudCA9
IChsaXN0ICYmIGxpc3QtPmhhc1RhZ05hbWUob2xUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxPTGlz
dEVsZW1lbnQqPihsaXN0KSA6IDA7CisgICAgSFRNTE9MaXN0RWxlbWVudCogb0xpc3RFbGVtZW50
ID0gKGxpc3QgJiYgbGlzdC0+aGFzVGFnTmFtZShvbFRhZykpID8gdG9IVE1MT0xpc3RFbGVtZW50
KGxpc3QpIDogbnVsbHB0cjsKICAgICBpbnQgdmFsdWVTdGVwID0gMTsKICAgICBpZiAob0xpc3RF
bGVtZW50ICYmIG9MaXN0RWxlbWVudC0+aXNSZXZlcnNlZCgpKQogICAgICAgICB2YWx1ZVN0ZXAg
PSAtMTsKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFJlbmRlckxpc3RJdGVtOjp1cGRhdGVMaXN0
TWFya2VyTnVtYmVycygpCiAgICAgICAgIHJldHVybjsKIAogICAgIGJvb2wgaXNMaXN0UmV2ZXJz
ZWQgPSBmYWxzZTsKLSAgICBIVE1MT0xpc3RFbGVtZW50KiBvTGlzdEVsZW1lbnQgPSAobGlzdE5v
ZGUgJiYgbGlzdE5vZGUtPmhhc1RhZ05hbWUob2xUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxPTGlz
dEVsZW1lbnQqPihsaXN0Tm9kZSkgOiAwOworICAgIEhUTUxPTGlzdEVsZW1lbnQqIG9MaXN0RWxl
bWVudCA9IChsaXN0Tm9kZSAmJiBsaXN0Tm9kZS0+aGFzVGFnTmFtZShvbFRhZykpID8gdG9IVE1M
T0xpc3RFbGVtZW50KGxpc3ROb2RlKSA6IG51bGxwdHI7CiAgICAgaWYgKG9MaXN0RWxlbWVudCkg
ewogICAgICAgICBvTGlzdEVsZW1lbnQtPml0ZW1Db3VudENoYW5nZWQoKTsKICAgICAgICAgaXNM
aXN0UmV2ZXJzZWQgPSBvTGlzdEVsZW1lbnQtPmlzUmV2ZXJzZWQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA5YjhkYzY3Mjc0ZGZlODNlY2VhNWNh
OTBiMDdlZTdlODkxZTk5MjFmLi4yOGU0ZTc0OThmZDY5ZjdhM2FmOGFmOTUwNWJhNTczN2NiNjc1
MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC03
MywxMCArNzMsOCBAQCBpbnQgUmVuZGVyTWFycXVlZTo6bWFycXVlZVNwZWVkKCkgY29uc3QKIHsK
ICAgICBpbnQgcmVzdWx0ID0gbV9sYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLm1hcnF1ZWVTcGVl
ZCgpOwogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBtX2xheWVyLT5yZW5kZXJlcigpLmVsZW1lbnQo
KTsKLSAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5oYXNUYWdOYW1lKG1hcnF1ZWVUYWcpKSB7
Ci0gICAgICAgIEhUTUxNYXJxdWVlRWxlbWVudCogbWFycXVlZUVsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxIVE1MTWFycXVlZUVsZW1lbnQqPihlbGVtZW50KTsKLSAgICAgICAgcmVzdWx0ID0gc3RkOjpt
YXgocmVzdWx0LCBtYXJxdWVlRWxlbWVudC0+bWluaW11bURlbGF5KCkpOwotICAgIH0KKyAgICBp
ZiAoZWxlbWVudCAmJiBlbGVtZW50LT5oYXNUYWdOYW1lKG1hcnF1ZWVUYWcpKQorICAgICAgICBy
ZXN1bHQgPSBzdGQ6Om1heChyZXN1bHQsIHRvSFRNTE1hcnF1ZWVFbGVtZW50KGVsZW1lbnQpLT5t
aW5pbXVtRGVsYXkoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>