<?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>46479</bug_id>
          
          <creation_ts>2010-09-24 10:21:00 -0700</creation_ts>
          <short_desc>Remove dead code and fix header includes in ResourceHandleWin</short_desc>
          <delta_ts>2010-09-27 11:42:52 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>
          
          <blocked>43712</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>aroben</cc>
    
    <cc>bweinstein</cc>
    
    <cc>caseq</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284486</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-09-24 10:21:00 -0700</bug_when>
    <thetext>see patch

THE LAST ONE!!! \O/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284495</commentid>
    <comment_count>1</comment_count>
      <attachid>68705</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-09-24 10:24:47 -0700</bug_when>
    <thetext>Created attachment 68705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284500</commentid>
    <comment_count>2</comment_count>
      <attachid>68705</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-24 10:27:22 -0700</bug_when>
    <thetext>Comment on attachment 68705
Patch

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

&gt; WebCore/ChangeLog:5
&gt; +        Remove dead code and fix headser includes in ResourceHandleWin

Typo: &quot;headser&quot;.

&gt; WebCore/platform/network/ResourceHandleInternal.h:100
&gt; +            , m_loadSynchronously(false)

Why are you adding this? Adding a new data member does not match up with your description of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284505</commentid>
    <comment_count>3</comment_count>
      <attachid>68706</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-09-24 10:31:32 -0700</bug_when>
    <thetext>Created attachment 68706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285308</commentid>
    <comment_count>4</comment_count>
      <attachid>68706</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-26 22:08:15 -0700</bug_when>
    <thetext>Comment on attachment 68706
Patch

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285333</commentid>
    <comment_count>5</comment_count>
      <attachid>68706</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-26 23:05:18 -0700</bug_when>
    <thetext>Comment on attachment 68706
Patch

Clearing flags on attachment: 68706

Committed r68371: &lt;http://trac.webkit.org/changeset/68371&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285334</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-26 23:05:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285463</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-27 08:00:34 -0700</bug_when>
    <thetext>JFYI, this broke the build. Bots were fine though, apparently due to stale copy of ResourceHandleWin.h under WebKitBuild/include. Fixed at r68384.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285584</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-27 11:02:40 -0700</bug_when>
    <thetext>Is this then indicative of a build system bug for Windows which needs to be filed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285636</commentid>
    <comment_count>9</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-27 11:42:20 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Is this then indicative of a build system bug for Windows which needs to be filed?

Filed as https://bugs.webkit.org/show_bug.cgi?id=46479</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285637</commentid>
    <comment_count>10</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-27 11:42:52 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Is this then indicative of a build system bug for Windows which needs to be filed?
&gt; 
&gt; Filed as https://bugs.webkit.org/show_bug.cgi?id=46479

Sorry, typo. Filed as https://bugs.webkit.org/show_bug.cgi?id=46638</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68705</attachid>
            <date>2010-09-24 10:24:47 -0700</date>
            <delta_ts>2010-09-24 10:31:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46479.patch</filename>
            <type>text/plain</type>
            <size>15128</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY4MjY2KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOS0yNCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgZGVhZCBjb2RlIGFuZCBmaXggaGVhZHNlciBpbmNsdWRlcyBpbiBSZXNvdXJj
ZUhhbmRsZVdpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDY0NzkKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlSW50ZXJuYWw6OlJlc291cmNlSGFuZGxlSW50
ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlSW50ZXJuYWw6On5SZXNvdXJj
ZUhhbmRsZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjp+UmVz
b3VyY2VIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVz
dENvbXBsZXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5oOiBSZW1vdmVkLgorCiAyMDEwLTA5LTI0ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgJKHJldmlzaW9uIDY4
MjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ2LDExICs0Niw2IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBEV09SRDsK
IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBEV09SRF9QVFI7CiB0eXBlZGVmIHZvaWQqIExQVk9JRDsK
IHR5cGVkZWYgTFBWT0lEIEhJTlRFUk5FVDsKLXR5cGVkZWYgdW5zaWduZWQgV1BBUkFNOwotdHlw
ZWRlZiBsb25nIExQQVJBTTsKLXR5cGVkZWYgc3RydWN0IEhXTkRfXyogSFdORDsKLXR5cGVkZWYg
X1c2NCBsb25nIExPTkdfUFRSOwotdHlwZWRlZiBMT05HX1BUUiBMUkVTVUxUOwogI2VuZGlmCiAK
IApAQCAtMTcwLDEyICsxNjUsOSBAQCBwdWJsaWM6CiAjaWYgVVNFKFdJTklORVQpCiAgICAgdm9p
ZCBzZXRTeW5jaHJvbm91c0ludGVybmV0SGFuZGxlKEhJTlRFUk5FVCk7CiAgICAgdm9pZCBmaWxl
TG9hZFRpbWVyKFRpbWVyPFJlc291cmNlSGFuZGxlPiopOwotICAgIHZvaWQgb25IYW5kbGVDcmVh
dGVkKExQQVJBTSk7CiAgICAgdm9pZCBvblJlZGlyZWN0KCk7CiAgICAgYm9vbCBvblJlcXVlc3RD
b21wbGV0ZSgpOwogICAgIHN0YXRpYyB2b2lkIENBTExCQUNLIGludGVybmV0U3RhdHVzQ2FsbGJh
Y2soSElOVEVSTkVULCBEV09SRF9QVFIsIERXT1JELCBMUFZPSUQsIERXT1JEKTsKLSAgICBmcmll
bmQgdm9pZCBfX3N0ZGNhbGwgdHJhbnNmZXJKb2JTdGF0dXNDYWxsYmFjayhISU5URVJORVQsIERX
T1JEX1BUUiwgRFdPUkQsIExQVk9JRCwgRFdPUkQpOwotICAgIGZyaWVuZCBMUkVTVUxUIF9fc3Rk
Y2FsbCBSZXNvdXJjZUhhbmRsZVduZFByb2MoSFdORCwgdW5zaWduZWQgbWVzc2FnZSwgV1BBUkFN
LCBMUEFSQU0pOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShRVCkgfHwgVVNFKENVUkwpIHx8IFVT
RShTT1VQKSB8fCBQTEFURk9STShBTkRST0lEKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgJKHJldmlzaW9uIDY4MjY1KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29y
a2luZyBjb3B5KQpAQCAtOTIsMTcgKzkyLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRp
ZgogI2lmIFVTRShXSU5JTkVUKQogICAgICAgICAgICAgLCBtX2ZpbGVMb2FkVGltZXIobG9hZGVy
LCAmUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIpCi0gICAgICAgICAgICAsIG1fcmVzb3Vy
Y2VIYW5kbGUoMCkKLSAgICAgICAgICAgICwgbV9zZWNvbmRhcnlIYW5kbGUoMCkKLSAgICAgICAg
ICAgICwgbV9qb2JJZCgwKQotICAgICAgICAgICAgLCBtX3RocmVhZElkKDApCiAgICAgICAgICAg
ICAsIG1faW50ZXJuZXRIYW5kbGUoMCkKICAgICAgICAgICAgICwgbV9jb25uZWN0SGFuZGxlKDAp
CiAgICAgICAgICAgICAsIG1fcmVxdWVzdEhhbmRsZSgwKQogICAgICAgICAgICAgLCBtX3NlbnRF
bmRSZXF1ZXN0KGZhbHNlKQogICAgICAgICAgICAgLCBtX2J5dGVzUmVtYWluaW5nVG9Xcml0ZSgw
KQorICAgICAgICAgICAgLCBtX2xvYWRTeW5jaHJvbm91c2x5KGZhbHNlKQogICAgICAgICAgICAg
LCBtX2hhc1JlY2VpdmVkUmVzcG9uc2UoZmFsc2UpCi0gICAgICAgICAgICAsIG1fcmVzZW5kKGZh
bHNlKQogI2VuZGlmCiAjaWYgVVNFKENVUkwpCiAgICAgICAgICAgICAsIG1faGFuZGxlKDApCkBA
IC0xNjgsMTkgKzE2NCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICNpZiBVU0Uo
V0lOSU5FVCkKICAgICAgICAgVGltZXI8UmVzb3VyY2VIYW5kbGU+IG1fZmlsZUxvYWRUaW1lcjsK
LSAgICAgICAgSElOVEVSTkVUIG1fcmVzb3VyY2VIYW5kbGU7Ci0gICAgICAgIEhJTlRFUk5FVCBt
X3NlY29uZGFyeUhhbmRsZTsKLSAgICAgICAgdW5zaWduZWQgbV9qb2JJZDsKLSAgICAgICAgRFdP
UkQgbV90aHJlYWRJZDsKICAgICAgICAgSElOVEVSTkVUIG1faW50ZXJuZXRIYW5kbGU7CiAgICAg
ICAgIEhJTlRFUk5FVCBtX2Nvbm5lY3RIYW5kbGU7CiAgICAgICAgIEhJTlRFUk5FVCBtX3JlcXVl
c3RIYW5kbGU7CiAgICAgICAgIGJvb2wgbV9zZW50RW5kUmVxdWVzdDsKICAgICAgICAgVmVjdG9y
PGNoYXI+IG1fZm9ybURhdGE7Ci0gICAgICAgIGludCBtX2J5dGVzUmVtYWluaW5nVG9Xcml0ZTsK
LSAgICAgICAgU3RyaW5nIG1fcG9zdFJlZmVycmVyOworICAgICAgICBzaXplX3QgbV9ieXRlc1Jl
bWFpbmluZ1RvV3JpdGU7CisgICAgICAgIGJvb2wgbV9sb2FkU3luY2hyb25vdXNseTsKICAgICAg
ICAgYm9vbCBtX2hhc1JlY2VpdmVkUmVzcG9uc2U7Ci0gICAgICAgIGJvb2wgbV9yZXNlbmQ7CiAg
ICAgICAgIFN0cmluZyBtX3JlZGlyZWN0VXJsOwogI2VuZGlmCiAjaWYgVVNFKENVUkwpDQpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmNwcAkocmV2aXNpb24gNjgyNjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2lu
L1Jlc291cmNlSGFuZGxlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNDQgKzI3LDIyIEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKIAotI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNp
bmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCi0jaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3Ry
eS5oIgorI2luY2x1ZGUgIk1haW5UaHJlYWQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5o
IgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNs
aWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKLSNpbmNsdWRlICJS
ZXNvdXJjZUhhbmRsZVdpbi5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCi0jaW5jbHVkZSAiV2ViQ29yZUluc3RhbmNlSGFuZGxlLmgiCi0KKyNpbmNsdWRl
ICJVbnVzZWRQYXJhbS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRl
IDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d2luaW5ldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0YXRpYyB1bnNpZ25lZCB0cmFuc2ZlckpvYklkID0gMDsKLXN0YXRpYyBIYXNoTWFwPGlu
dCwgUmVzb3VyY2VIYW5kbGUqPiogam9iSWRNYXAgPSAwOwotCi1zdGF0aWMgSFdORCB0cmFuc2Zl
ckpvYldpbmRvd0hhbmRsZSA9IDA7Ci1jb25zdCBMUENXU1RSIGtSZXNvdXJjZUhhbmRsZVdpbmRv
d0NsYXNzTmFtZSA9IEwiUmVzb3VyY2VIYW5kbGVXaW5kb3dDbGFzcyI7Ci0KLS8vIE1lc3NhZ2Ug
dHlwZXMgZm9yIGludGVybmFsIHVzZSAoa2VlcCBpbiBzeW5jIHdpdGgga01lc3NhZ2VIYW5kbGVy
cykKLWVudW0gewotICBoYW5kbGVDcmVhdGVkTWVzc2FnZSA9IFdNX1VTRVIsCi0gIHJlcXVlc3RS
ZWRpcmVjdGVkTWVzc2FnZSwKLSAgcmVxdWVzdENvbXBsZXRlTWVzc2FnZQotfTsKLQotdHlwZWRl
ZiB2b2lkIChSZXNvdXJjZUhhbmRsZTo6ICpSZXNvdXJjZUhhbmRsZUV2ZW50SGFuZGxlcikoTFBB
UkFNKTsKLXN0YXRpYyBjb25zdCBSZXNvdXJjZUhhbmRsZUV2ZW50SGFuZGxlciBtZXNzYWdlSGFu
ZGxlcnNbXSA9IHsKLSAgICAmUmVzb3VyY2VIYW5kbGU6Om9uSGFuZGxlQ3JlYXRlZCwKLSAgICAm
UmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdFJlZGlyZWN0ZWQsCi0gICAgJlJlc291cmNlSGFuZGxl
OjpvblJlcXVlc3RDb21wbGV0ZQotfTsKLQogc3RhdGljIGlubGluZSBISU5URVJORVQgY3JlYXRl
SW50ZXJuZXRIYW5kbGUoY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgYXN5bmNocm9ub3Vz
KQogewogICAgIFN0cmluZyB1c2VyQWdlbnRTdHJpbmcgPSB1c2VyQWdlbnQ7CkBAIC05Niw2NSAr
NzQsNiBAQCBzdGF0aWMgU3RyaW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5URVJORVQgCiAgICAgcmV0
dXJuIFN0cmluZzo6YWRvcHQoY2hhcmFjdGVycyk7CiB9CiAKLXN0YXRpYyBpbnQgYWRkVG9PdXRz
dGFuZGluZ0pvYnMoUmVzb3VyY2VIYW5kbGUqIGpvYikKLXsKLSAgICBpZiAoIWpvYklkTWFwKQot
ICAgICAgICBqb2JJZE1hcCA9IG5ldyBIYXNoTWFwPGludCwgUmVzb3VyY2VIYW5kbGUqPjsKLSAg
ICB0cmFuc2ZlckpvYklkKys7Ci0gICAgam9iSWRNYXAtPnNldCh0cmFuc2ZlckpvYklkLCBqb2Ip
OwotICAgIHJldHVybiB0cmFuc2ZlckpvYklkOwotfQotCi1zdGF0aWMgdm9pZCByZW1vdmVGcm9t
T3V0c3RhbmRpbmdKb2JzKGludCBqb2JJZCkKLXsKLSAgICBpZiAoIWpvYklkTWFwKQotICAgICAg
ICByZXR1cm47Ci0gICAgam9iSWRNYXAtPnJlbW92ZShqb2JJZCk7Ci19Ci0KLXN0YXRpYyBSZXNv
dXJjZUhhbmRsZSogbG9va3VwUmVzb3VyY2VIYW5kbGUoaW50IGpvYklkKQotewotICAgIGlmICgh
am9iSWRNYXApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBqb2JJZE1hcC0+Z2V0KGpv
YklkKTsKLX0KLQotc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sgUmVzb3VyY2VIYW5kbGVXbmRQcm9j
KEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCi17Ci0gICAgaWYg
KG1lc3NhZ2UgPj0gaGFuZGxlQ3JlYXRlZE1lc3NhZ2UpIHsKLSAgICAgICAgVUlOVCBpbmRleCA9
IG1lc3NhZ2UgLSBoYW5kbGVDcmVhdGVkTWVzc2FnZTsKLSAgICAgICAgaWYgKGluZGV4IDwgX2Nv
dW50b2YobWVzc2FnZUhhbmRsZXJzKSkgewotICAgICAgICAgICAgdW5zaWduZWQgam9iSWQgPSAo
dW5zaWduZWQpIHdQYXJhbTsKLSAgICAgICAgICAgIFJlc291cmNlSGFuZGxlKiBqb2IgPSBsb29r
dXBSZXNvdXJjZUhhbmRsZShqb2JJZCk7Ci0gICAgICAgICAgICBpZiAoam9iKSB7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKGpvYi0+ZC0+bV9qb2JJZCA9PSBqb2JJZCk7Ci0gICAgICAgICAgICAg
ICAgQVNTRVJUKGpvYi0+ZC0+bV90aHJlYWRJZCA9PSBHZXRDdXJyZW50VGhyZWFkSWQoKSk7Ci0g
ICAgICAgICAgICAgICAgKGpvYi0+KihtZXNzYWdlSGFuZGxlcnNbaW5kZXhdKSkobFBhcmFtKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0gICAgfQot
ICAgIHJldHVybiBEZWZXaW5kb3dQcm9jKGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsK
LX0KLQotc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU9mZlNjcmVlblJlc291cmNlSGFuZGxlV2luZG93
KCkKLXsKLSAgICBpZiAodHJhbnNmZXJKb2JXaW5kb3dIYW5kbGUpCi0gICAgICAgIHJldHVybjsK
LQotICAgIFdORENMQVNTRVggd2NleDsKLSAgICBtZW1zZXQoJndjZXgsIDAsIHNpemVvZihXTkRD
TEFTU0VYKSk7Ci0gICAgd2NleC5jYlNpemUgPSBzaXplb2YoV05EQ0xBU1NFWCk7Ci0gICAgd2Nl
eC5scGZuV25kUHJvYyAgICA9IFJlc291cmNlSGFuZGxlV25kUHJvYzsKLSAgICB3Y2V4LmhJbnN0
YW5jZSAgICAgID0gV2ViQ29yZTo6aW5zdGFuY2VIYW5kbGUoKTsKLSAgICB3Y2V4Lmxwc3pDbGFz
c05hbWUgID0ga1Jlc291cmNlSGFuZGxlV2luZG93Q2xhc3NOYW1lOwotICAgIFJlZ2lzdGVyQ2xh
c3NFeCgmd2NleCk7Ci0KLSAgICB0cmFuc2ZlckpvYldpbmRvd0hhbmRsZSA9IENyZWF0ZVdpbmRv
dyhrUmVzb3VyY2VIYW5kbGVXaW5kb3dDbGFzc05hbWUsIDAsIDAsIENXX1VTRURFRkFVTFQsIDAs
IENXX1VTRURFRkFVTFQsIDAsCi0gICAgICAgIEhXTkRfTUVTU0FHRSwgMCwgV2ViQ29yZTo6aW5z
dGFuY2VIYW5kbGUoKSwgMCk7Ci19Ci0KIAogY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewogcHVi
bGljOgpAQCAtMjEwLDcyICsxMjksMTAgQEAgdm9pZCBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6
OmRpZEZhaWwoUgogCiBSZXNvdXJjZUhhbmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCgpCiB7Ci0gICAgaWYgKG1fZmlsZUhhbmRsZSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkK
LSAgICAgICAgQ2xvc2VIYW5kbGUobV9maWxlSGFuZGxlKTsKIH0KIAogUmVzb3VyY2VIYW5kbGU6
On5SZXNvdXJjZUhhbmRsZSgpCiB7Ci0gICAgaWYgKGQtPm1fam9iSWQpCi0gICAgICAgIHJlbW92
ZUZyb21PdXRzdGFuZGluZ0pvYnMoZC0+bV9qb2JJZCk7Ci19Ci0KLXZvaWQgUmVzb3VyY2VIYW5k
bGU6Om9uSGFuZGxlQ3JlYXRlZChMUEFSQU0gbFBhcmFtKQotewotICAgIGlmICghZC0+bV9yZXNv
dXJjZUhhbmRsZSkgewotICAgICAgICBkLT5tX3Jlc291cmNlSGFuZGxlID0gSElOVEVSTkVUKGxQ
YXJhbSk7Ci0gICAgICAgIGlmIChkLT5zdGF0dXMgIT0gMCkgewotICAgICAgICAgICAgLy8gV2Ug
d2VyZSBjYW5jZWxlZCBiZWZvcmUgV2luZG93cyBhY3R1YWxseSBjcmVhdGVkIGEgaGFuZGxlIGZv
ciB1cywgY2xvc2UgYW5kIGRlbGV0ZSBub3cuCi0gICAgICAgICAgICBJbnRlcm5ldENsb3NlSGFu
ZGxlKGQtPm1fcmVzb3VyY2VIYW5kbGUpOwotICAgICAgICAgICAgZGVsZXRlIHRoaXM7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAocmVxdWVzdCgpLmh0dHBN
ZXRob2QoKSA9PSAiUE9TVCIpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBUb28gbGF0ZSB0byBz
ZXQgcmVmZXJyZXIgcHJvcGVybHkuCi0gICAgICAgICAgICBTdHJpbmcgdXJsU3RyID0gcmVxdWVz
dCgpLnVybCgpLnBhdGgoKTsKLSAgICAgICAgICAgIGludCBmcmFnbWVudEluZGV4ID0gdXJsU3Ry
LmZpbmQoJyMnKTsKLSAgICAgICAgICAgIGlmIChmcmFnbWVudEluZGV4ICE9IC0xKQotICAgICAg
ICAgICAgICAgIHVybFN0ciA9IHVybFN0ci5sZWZ0KGZyYWdtZW50SW5kZXgpOwotICAgICAgICAg
ICAgc3RhdGljIExQQ1NUUiBhY2NlcHRbMl09eyIqLyoiLCBOVUxMfTsKLSAgICAgICAgICAgIEhJ
TlRFUk5FVCB1cmxIYW5kbGUgPSBIdHRwT3BlblJlcXVlc3RBKGQtPm1fcmVzb3VyY2VIYW5kbGUs
IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBP
U1QiLCB1cmxTdHIubGF0aW4xKCkuZGF0YSgpLCAwLCAwLCBhY2NlcHQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5FVF9GTEFHX0tFRVBf
Q09OTkVDVElPTiB8IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSU5URVJORVRfRkxBR19GT1JNU19TVUJNSVQgfAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5URVJORVRfRkxBR19SRUxPQUQgfAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5URVJO
RVRfRkxBR19OT19DQUNIRV9XUklURSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJTlRFUk5FVF9GTEFHX0lHTk9SRV9SRURJUkVDVF9UT19IVFRQ
UyB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
TlRFUk5FVF9GTEFHX0lHTk9SRV9SRURJUkVDVF9UT19IVFRQLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKERXT1JEX1BUUilkLT5tX2pvYklkKTsK
LSAgICAgICAgICAgIGlmICh1cmxIYW5kbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAg
ICAgICAgICAgICAgICBJbnRlcm5ldENsb3NlSGFuZGxlKGQtPm1fcmVzb3VyY2VIYW5kbGUpOwot
ICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgfSBlbHNlIGlmICghZC0+bV9zZWNvbmRhcnlIYW5kbGUpIHsKLSAgICAgICAgYXNzZXJ0KHJl
cXVlc3QoKS5odHRwTWV0aG9kKCkgPT0gIlBPU1QiKTsKLSAgICAgICAgZC0+bV9zZWNvbmRhcnlI
YW5kbGUgPSBISU5URVJORVQobFBhcmFtKTsKLSAgICAgICAgCi0gICAgICAgIC8vIE5lZWQgdG8g
YWN0dWFsbHkgc2VuZCB0aGUgcmVxdWVzdCBub3cuCi0gICAgICAgIFN0cmluZyBoZWFkZXJzID0g
IkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXG4iOwotICAg
ICAgICBoZWFkZXJzICs9ICJSZWZlcmVyOiAiOwotICAgICAgICBoZWFkZXJzICs9IGQtPm1fcG9z
dFJlZmVycmVyOwotICAgICAgICBoZWFkZXJzICs9ICJcbiI7Ci0gICAgICAgIGNvbnN0IENTdHJp
bmcmIGhlYWRlcnNMYXRpbjEgPSBoZWFkZXJzLmxhdGluMSgpOwotICAgICAgICBpZiAoZmlyc3RS
ZXF1ZXN0KCkuaHR0cEJvZHkoKSkgewotICAgICAgICAgICAgZmlyc3RSZXF1ZXN0KCkuaHR0cEJv
ZHkoKS0+ZmxhdHRlbihkLT5tX2Zvcm1EYXRhKTsKLSAgICAgICAgICAgIGQtPm1fYnl0ZXNSZW1h
aW5pbmdUb1dyaXRlID0gZC0+bV9mb3JtRGF0YS5zaXplKCk7Ci0gICAgICAgIH0KLSAgICAgICAg
SU5URVJORVRfQlVGRkVSU0EgYnVmZmVyczsKLSAgICAgICAgbWVtc2V0KCZidWZmZXJzLCAwLCBz
aXplb2YoYnVmZmVycykpOwotICAgICAgICBidWZmZXJzLmR3U3RydWN0U2l6ZSA9IHNpemVvZihJ
TlRFUk5FVF9CVUZGRVJTQSk7Ci0gICAgICAgIGJ1ZmZlcnMubHBjc3pIZWFkZXIgPSBoZWFkZXJz
TGF0aW4xLmRhdGEoKTsKLSAgICAgICAgYnVmZmVycy5kd0hlYWRlcnNMZW5ndGggPSBoZWFkZXJz
Lmxlbmd0aCgpOwotICAgICAgICBidWZmZXJzLmR3QnVmZmVyVG90YWwgPSBkLT5tX2J5dGVzUmVt
YWluaW5nVG9Xcml0ZTsKLSAgICAgICAgCi0gICAgICAgIEh0dHBTZW5kUmVxdWVzdEV4QShkLT5t
X3NlY29uZGFyeUhhbmRsZSwgJmJ1ZmZlcnMsIDAsIDAsIChEV09SRF9QVFIpZC0+bV9qb2JJZCk7
Ci0gICAgICAgIC8vIEZJWE1FOiBhZGQgcHJvcGVyIGVycm9yIGhhbmRsaW5nCi0gICAgfQogfQog
CiBzdGF0aWMgdm9pZCBjYWxsT25SZWRpcmVjdCh2b2lkKiBjb250ZXh0KQpAQCAtMzQ2LDggKzIw
Myw2IEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdENvbXBsZXRlKCkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgSElOVEVSTkVUIGhhbmRsZSA9IChyZXF1ZXN0KCku
aHR0cE1ldGhvZCgpID09ICJQT1NUIikgPyBkLT5tX3NlY29uZGFyeUhhbmRsZSA6IGQtPm1fcmVz
b3VyY2VIYW5kbGU7Ci0KICAgICBzdGF0aWMgY29uc3QgaW50IGJ1ZmZlclNpemUgPSAzMjc2ODsK
ICAgICBjaGFyIGJ1ZmZlcltidWZmZXJTaXplXTsKICAgICBJTlRFUk5FVF9CVUZGRVJTQSBidWZm
ZXJzOwpAQCAtNDAwLDU5ICsyNTUsNiBAQCBib29sIFJlc291cmNlSGFuZGxlOjpvblJlcXVlc3RD
b21wbGV0ZSgpCiAgICAgSW50ZXJuZXRDbG9zZUhhbmRsZShkLT5tX2Nvbm5lY3RIYW5kbGUpOwog
ICAgIGRlcmVmKCk7IC8vIGJhbGFuY2VzIHJlZiBpbiBzdGFydAogICAgIHJldHVybiBmYWxzZTsK
LX0KLQotc3RhdGljIHZvaWQgX19zdGRjYWxsIHRyYW5zZmVySm9iU3RhdHVzQ2FsbGJhY2soSElO
VEVSTkVUIGludGVybmV0SGFuZGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRFdPUkRfUFRSIGpvYklkLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRFdPUkQgaW50ZXJuZXRTdGF0dXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMUFZPSUQgc3RhdHVzSW5mb3Jt
YXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE
V09SRCBzdGF0dXNJbmZvcm1hdGlvbkxlbmd0aCkKLXsKLSNpZmRlZiBSRVNPVVJDRV9MT0FERVJf
REVCVUcKLSAgICBjaGFyIGJ1Zls2NF07Ci0gICAgX3NucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1Ziks
ICJzdGF0dXMtY2FsbGJhY2s6IHN0YXR1cz0ldSwgam9iPSVwXG4iLAotICAgICAgICAgICAgICBp
bnRlcm5ldFN0YXR1cywgam9iSWQpOwotICAgIE91dHB1dERlYnVnU3RyaW5nQShidWYpOwotI2Vu
ZGlmCi0KLSAgICBVSU5UIG1zZzsKLSAgICBMUEFSQU0gbFBhcmFtOwotCi0gICAgc3dpdGNoIChp
bnRlcm5ldFN0YXR1cykgewotICAgIGNhc2UgSU5URVJORVRfU1RBVFVTX0hBTkRMRV9DUkVBVEVE
OgotICAgICAgICAvLyB0ZWxsIHRoZSBtYWluIHRocmVhZCBhYm91dCB0aGUgbmV3bHkgY3JlYXRl
ZCBoYW5kbGUKLSAgICAgICAgbXNnID0gaGFuZGxlQ3JlYXRlZE1lc3NhZ2U7Ci0gICAgICAgIGxQ
YXJhbSA9IChMUEFSQU0pIExQSU5URVJORVRfQVNZTkNfUkVTVUxUKHN0YXR1c0luZm9ybWF0aW9u
KS0+ZHdSZXN1bHQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSU5URVJORVRfU1RBVFVTX1JF
UVVFU1RfQ09NUExFVEU6Ci0jaWZkZWYgUkVTT1VSQ0VfTE9BREVSX0RFQlVHCi0gICAgICAgIF9z
bnByaW50ZihidWYsIHNpemVvZihidWYpLCAicmVxdWVzdC1jb21wbGV0ZTogcmVzdWx0PSVwLCBl
cnJvcj0ldVxuIiwKLSAgICAgICAgICAgIExQSU5URVJORVRfQVNZTkNfUkVTVUxUKHN0YXR1c0lu
Zm9ybWF0aW9uKS0+ZHdSZXN1bHQsCi0gICAgICAgICAgICBMUElOVEVSTkVUX0FTWU5DX1JFU1VM
VChzdGF0dXNJbmZvcm1hdGlvbiktPmR3RXJyb3IpOwotICAgICAgICBPdXRwdXREZWJ1Z1N0cmlu
Z0EoYnVmKTsKLSNlbmRpZgotICAgICAgICAvLyB0ZWxsIHRoZSBtYWluIHRocmVhZCB0aGF0IHRo
ZSByZXF1ZXN0IGlzIGRvbmUKLSAgICAgICAgbXNnID0gcmVxdWVzdENvbXBsZXRlTWVzc2FnZTsK
LSAgICAgICAgbFBhcmFtID0gMDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJTlRFUk5FVF9T
VEFUVVNfUkVESVJFQ1Q6Ci0gICAgICAgIC8vIHRlbGwgdGhlIG1haW4gdGhyZWFkIHRvIG9ic2Vy
dmUgdGhpcyByZWRpcmVjdCAoRklYTUU6IHdlIHByb2JhYmx5Ci0gICAgICAgIC8vIG5lZWQgdG8g
YmxvY2sgdGhlIHJlZGlyZWN0IGF0IHRoaXMgcG9pbnQgc28gdGhlIGFwcGxpY2F0aW9uIGNhbgot
ICAgICAgICAvLyBkZWNpZGUgd2hldGhlciBvciBub3QgdG8gZm9sbG93IHRoZSByZWRpcmVjdCkK
LSAgICAgICAgbXNnID0gcmVxdWVzdFJlZGlyZWN0ZWRNZXNzYWdlOwotICAgICAgICBsUGFyYW0g
PSAoTFBBUkFNKSBTdHJpbmdJbXBsOjpjcmVhdGUoKGNvbnN0IFVDaGFyKikgc3RhdHVzSW5mb3Jt
YXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
dXNJbmZvcm1hdGlvbkxlbmd0aCkucmVsZWFzZVJlZigpOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIElOVEVSTkVUX1NUQVRVU19VU0VSX0lOUFVUX1JFUVVJUkVEOgotICAgICAgICAvLyBGSVhN
RTogcHJvbXB0IHRoZSB1c2VyIGlmIG5lY2Vzc2FyeQotICAgICAgICBSZXN1bWVTdXNwZW5kZWRE
b3dubG9hZChpbnRlcm5ldEhhbmRsZSwgMCk7Ci0gICAgY2FzZSBJTlRFUk5FVF9TVEFUVVNfU1RB
VEVfQ0hBTkdFOgotICAgICAgICAvLyBtYXkgbmVlZCB0byBjYWxsIFJlc3VtZVN1c3BlbmRlZERv
d25sb2FkIGhlcmUgYXMgd2VsbAotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBQb3N0TWVzc2FnZSh0cmFuc2ZlckpvYldpbmRvd0hhbmRsZSwgbXNnLCAoV1BBUkFN
KSBqb2JJZCwgbFBhcmFtKTsKIH0KIAogYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3RhcnQoTmV0d29y
a2luZ0NvbnRleHQqIGNvbnRleHQpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2lu
L1Jlc291cmNlSGFuZGxlV2luLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmgJKHJldmlzaW9uIDY4MjY1KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgUmVz
b3VyY2VIYW5kbGVXaW5faAotI2RlZmluZSBSZXNvdXJjZUhhbmRsZVdpbl9oCi0KLSNpbmNsdWRl
IDx3aW5kb3dzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IFBsYXRmb3JtRGF0
YVN0cnVjdAotewotICAgIERXT1JEICAgZXJyb3I7Ci0gICAgQk9PTCAgICBsb2FkZWQ7Ci0gICAg
TFBUU1RSICBlcnJvclN0cmluZzsKLX07Ci0KLXN0cnVjdCBQbGF0Zm9ybVJlc3BvbnNlU3RydWN0
Ci17Ci19OwotCi19Ci0KLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68706</attachid>
            <date>2010-09-24 10:31:32 -0700</date>
            <delta_ts>2010-09-26 23:05:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46479.patch</filename>
            <type>text/plain</type>
            <size>15184</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY4MjY2KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0yNCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgZGVhZCBjb2RlIGFuZCBmaXggaGVhZGVyIGluY2x1ZGVzIGluIFJlc291cmNl
SGFuZGxlV2luCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NjQ3OQorCisgICAgICAgIEFsc28gYWRkIG1pc3NpbmcgbWVtYmVyIHZhcmliYWxlIGZyb20g
cjY4MTY3LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6flJlc291cmNl
SGFuZGxlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6On5SZXNv
dXJjZUhhbmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6b25SZXF1ZXN0
Q29tcGxldGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmg6IFJlbW92ZWQuCisKIDIwMTAtMDktMjQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAkocmV2aXNpb24gNjgy
NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYsMTEgKzQ2LDYgQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIERXT1JEOwog
dHlwZWRlZiB1bnNpZ25lZCBsb25nIERXT1JEX1BUUjsKIHR5cGVkZWYgdm9pZCogTFBWT0lEOwog
dHlwZWRlZiBMUFZPSUQgSElOVEVSTkVUOwotdHlwZWRlZiB1bnNpZ25lZCBXUEFSQU07Ci10eXBl
ZGVmIGxvbmcgTFBBUkFNOwotdHlwZWRlZiBzdHJ1Y3QgSFdORF9fKiBIV05EOwotdHlwZWRlZiBf
VzY0IGxvbmcgTE9OR19QVFI7Ci10eXBlZGVmIExPTkdfUFRSIExSRVNVTFQ7CiAjZW5kaWYKIAog
CkBAIC0xNzAsMTIgKzE2NSw5IEBAIHB1YmxpYzoKICNpZiBVU0UoV0lOSU5FVCkKICAgICB2b2lk
IHNldFN5bmNocm9ub3VzSW50ZXJuZXRIYW5kbGUoSElOVEVSTkVUKTsKICAgICB2b2lkIGZpbGVM
b2FkVGltZXIoVGltZXI8UmVzb3VyY2VIYW5kbGU+Kik7Ci0gICAgdm9pZCBvbkhhbmRsZUNyZWF0
ZWQoTFBBUkFNKTsKICAgICB2b2lkIG9uUmVkaXJlY3QoKTsKICAgICBib29sIG9uUmVxdWVzdENv
bXBsZXRlKCk7CiAgICAgc3RhdGljIHZvaWQgQ0FMTEJBQ0sgaW50ZXJuZXRTdGF0dXNDYWxsYmFj
ayhISU5URVJORVQsIERXT1JEX1BUUiwgRFdPUkQsIExQVk9JRCwgRFdPUkQpOwotICAgIGZyaWVu
ZCB2b2lkIF9fc3RkY2FsbCB0cmFuc2ZlckpvYlN0YXR1c0NhbGxiYWNrKEhJTlRFUk5FVCwgRFdP
UkRfUFRSLCBEV09SRCwgTFBWT0lELCBEV09SRCk7Ci0gICAgZnJpZW5kIExSRVNVTFQgX19zdGRj
YWxsIFJlc291cmNlSGFuZGxlV25kUHJvYyhIV05ELCB1bnNpZ25lZCBtZXNzYWdlLCBXUEFSQU0s
IExQQVJBTSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFUKSB8fCBVU0UoQ1VSTCkgfHwgVVNF
KFNPVVApIHx8IFBMQVRGT1JNKEFORFJPSUQpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkocmV2aXNpb24gNjgyNjUpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MiwxNyArOTIsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAjaWYgVVNFKFdJTklORVQpCiAgICAgICAgICAgICAsIG1fZmlsZUxvYWRUaW1lcihsb2FkZXIs
ICZSZXNvdXJjZUhhbmRsZTo6ZmlsZUxvYWRUaW1lcikKLSAgICAgICAgICAgICwgbV9yZXNvdXJj
ZUhhbmRsZSgwKQotICAgICAgICAgICAgLCBtX3NlY29uZGFyeUhhbmRsZSgwKQotICAgICAgICAg
ICAgLCBtX2pvYklkKDApCi0gICAgICAgICAgICAsIG1fdGhyZWFkSWQoMCkKICAgICAgICAgICAg
ICwgbV9pbnRlcm5ldEhhbmRsZSgwKQogICAgICAgICAgICAgLCBtX2Nvbm5lY3RIYW5kbGUoMCkK
ICAgICAgICAgICAgICwgbV9yZXF1ZXN0SGFuZGxlKDApCiAgICAgICAgICAgICAsIG1fc2VudEVu
ZFJlcXVlc3QoZmFsc2UpCiAgICAgICAgICAgICAsIG1fYnl0ZXNSZW1haW5pbmdUb1dyaXRlKDAp
CisgICAgICAgICAgICAsIG1fbG9hZFN5bmNocm9ub3VzbHkoZmFsc2UpCiAgICAgICAgICAgICAs
IG1faGFzUmVjZWl2ZWRSZXNwb25zZShmYWxzZSkKLSAgICAgICAgICAgICwgbV9yZXNlbmQoZmFs
c2UpCiAjZW5kaWYKICNpZiBVU0UoQ1VSTCkKICAgICAgICAgICAgICwgbV9oYW5kbGUoMCkKQEAg
LTE2OCwxOSArMTY0LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogI2lmIFVTRShX
SU5JTkVUKQogICAgICAgICBUaW1lcjxSZXNvdXJjZUhhbmRsZT4gbV9maWxlTG9hZFRpbWVyOwot
ICAgICAgICBISU5URVJORVQgbV9yZXNvdXJjZUhhbmRsZTsKLSAgICAgICAgSElOVEVSTkVUIG1f
c2Vjb25kYXJ5SGFuZGxlOwotICAgICAgICB1bnNpZ25lZCBtX2pvYklkOwotICAgICAgICBEV09S
RCBtX3RocmVhZElkOwogICAgICAgICBISU5URVJORVQgbV9pbnRlcm5ldEhhbmRsZTsKICAgICAg
ICAgSElOVEVSTkVUIG1fY29ubmVjdEhhbmRsZTsKICAgICAgICAgSElOVEVSTkVUIG1fcmVxdWVz
dEhhbmRsZTsKICAgICAgICAgYm9vbCBtX3NlbnRFbmRSZXF1ZXN0OwogICAgICAgICBWZWN0b3I8
Y2hhcj4gbV9mb3JtRGF0YTsKLSAgICAgICAgaW50IG1fYnl0ZXNSZW1haW5pbmdUb1dyaXRlOwot
ICAgICAgICBTdHJpbmcgbV9wb3N0UmVmZXJyZXI7CisgICAgICAgIHNpemVfdCBtX2J5dGVzUmVt
YWluaW5nVG9Xcml0ZTsKKyAgICAgICAgYm9vbCBtX2xvYWRTeW5jaHJvbm91c2x5OwogICAgICAg
ICBib29sIG1faGFzUmVjZWl2ZWRSZXNwb25zZTsKLSAgICAgICAgYm9vbCBtX3Jlc2VuZDsKICAg
ICAgICAgU3RyaW5nIG1fcmVkaXJlY3RVcmw7CiAjZW5kaWYKICNpZiBVU0UoQ1VSTCkNCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwCShyZXZpc2lvbiA2ODI2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw0NCArMjcsMjIgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogCi0jaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2lu
Y2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKLSNpbmNsdWRlICJQYWdl
LmgiCisjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5
LmgiCisjaW5jbHVkZSAiTWFpblRocmVhZC5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgotI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlV2luLmgiCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKLSNpbmNsdWRlICJXZWJDb3JlSW5zdGFuY2VIYW5kbGUuaCIKLQorI2luY2x1ZGUg
IlVudXNlZFBhcmFtLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUg
PHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3aW5pbmV0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RhdGljIHVuc2lnbmVkIHRyYW5zZmVySm9iSWQgPSAwOwotc3RhdGljIEhhc2hNYXA8aW50
LCBSZXNvdXJjZUhhbmRsZSo+KiBqb2JJZE1hcCA9IDA7Ci0KLXN0YXRpYyBIV05EIHRyYW5zZmVy
Sm9iV2luZG93SGFuZGxlID0gMDsKLWNvbnN0IExQQ1dTVFIga1Jlc291cmNlSGFuZGxlV2luZG93
Q2xhc3NOYW1lID0gTCJSZXNvdXJjZUhhbmRsZVdpbmRvd0NsYXNzIjsKLQotLy8gTWVzc2FnZSB0
eXBlcyBmb3IgaW50ZXJuYWwgdXNlIChrZWVwIGluIHN5bmMgd2l0aCBrTWVzc2FnZUhhbmRsZXJz
KQotZW51bSB7Ci0gIGhhbmRsZUNyZWF0ZWRNZXNzYWdlID0gV01fVVNFUiwKLSAgcmVxdWVzdFJl
ZGlyZWN0ZWRNZXNzYWdlLAotICByZXF1ZXN0Q29tcGxldGVNZXNzYWdlCi19OwotCi10eXBlZGVm
IHZvaWQgKFJlc291cmNlSGFuZGxlOjogKlJlc291cmNlSGFuZGxlRXZlbnRIYW5kbGVyKShMUEFS
QU0pOwotc3RhdGljIGNvbnN0IFJlc291cmNlSGFuZGxlRXZlbnRIYW5kbGVyIG1lc3NhZ2VIYW5k
bGVyc1tdID0gewotICAgICZSZXNvdXJjZUhhbmRsZTo6b25IYW5kbGVDcmVhdGVkLAotICAgICZS
ZXNvdXJjZUhhbmRsZTo6b25SZXF1ZXN0UmVkaXJlY3RlZCwKLSAgICAmUmVzb3VyY2VIYW5kbGU6
Om9uUmVxdWVzdENvbXBsZXRlCi19OwotCiBzdGF0aWMgaW5saW5lIEhJTlRFUk5FVCBjcmVhdGVJ
bnRlcm5ldEhhbmRsZShjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBhc3luY2hyb25vdXMp
CiB7CiAgICAgU3RyaW5nIHVzZXJBZ2VudFN0cmluZyA9IHVzZXJBZ2VudDsKQEAgLTk2LDY1ICs3
NCw2IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCAKICAgICByZXR1
cm4gU3RyaW5nOjphZG9wdChjaGFyYWN0ZXJzKTsKIH0KIAotc3RhdGljIGludCBhZGRUb091dHN0
YW5kaW5nSm9icyhSZXNvdXJjZUhhbmRsZSogam9iKQotewotICAgIGlmICgham9iSWRNYXApCi0g
ICAgICAgIGpvYklkTWFwID0gbmV3IEhhc2hNYXA8aW50LCBSZXNvdXJjZUhhbmRsZSo+OwotICAg
IHRyYW5zZmVySm9iSWQrKzsKLSAgICBqb2JJZE1hcC0+c2V0KHRyYW5zZmVySm9iSWQsIGpvYik7
Ci0gICAgcmV0dXJuIHRyYW5zZmVySm9iSWQ7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbW92ZUZyb21P
dXRzdGFuZGluZ0pvYnMoaW50IGpvYklkKQotewotICAgIGlmICgham9iSWRNYXApCi0gICAgICAg
IHJldHVybjsKLSAgICBqb2JJZE1hcC0+cmVtb3ZlKGpvYklkKTsKLX0KLQotc3RhdGljIFJlc291
cmNlSGFuZGxlKiBsb29rdXBSZXNvdXJjZUhhbmRsZShpbnQgam9iSWQpCi17Ci0gICAgaWYgKCFq
b2JJZE1hcCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGpvYklkTWFwLT5nZXQoam9i
SWQpOwotfQotCi1zdGF0aWMgTFJFU1VMVCBDQUxMQkFDSyBSZXNvdXJjZUhhbmRsZVduZFByb2Mo
SFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKLXsKLSAgICBpZiAo
bWVzc2FnZSA+PSBoYW5kbGVDcmVhdGVkTWVzc2FnZSkgewotICAgICAgICBVSU5UIGluZGV4ID0g
bWVzc2FnZSAtIGhhbmRsZUNyZWF0ZWRNZXNzYWdlOwotICAgICAgICBpZiAoaW5kZXggPCBfY291
bnRvZihtZXNzYWdlSGFuZGxlcnMpKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBqb2JJZCA9ICh1
bnNpZ25lZCkgd1BhcmFtOwotICAgICAgICAgICAgUmVzb3VyY2VIYW5kbGUqIGpvYiA9IGxvb2t1
cFJlc291cmNlSGFuZGxlKGpvYklkKTsKLSAgICAgICAgICAgIGlmIChqb2IpIHsKLSAgICAgICAg
ICAgICAgICBBU1NFUlQoam9iLT5kLT5tX2pvYklkID09IGpvYklkKTsKLSAgICAgICAgICAgICAg
ICBBU1NFUlQoam9iLT5kLT5tX3RocmVhZElkID09IEdldEN1cnJlbnRUaHJlYWRJZCgpKTsKLSAg
ICAgICAgICAgICAgICAoam9iLT4qKG1lc3NhZ2VIYW5kbGVyc1tpbmRleF0pKShsUGFyYW0pOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLSAgICB9Ci0g
ICAgcmV0dXJuIERlZldpbmRvd1Byb2MoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOwot
fQotCi1zdGF0aWMgdm9pZCBpbml0aWFsaXplT2ZmU2NyZWVuUmVzb3VyY2VIYW5kbGVXaW5kb3co
KQotewotICAgIGlmICh0cmFuc2ZlckpvYldpbmRvd0hhbmRsZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgV05EQ0xBU1NFWCB3Y2V4OwotICAgIG1lbXNldCgmd2NleCwgMCwgc2l6ZW9mKFdORENM
QVNTRVgpKTsKLSAgICB3Y2V4LmNiU2l6ZSA9IHNpemVvZihXTkRDTEFTU0VYKTsKLSAgICB3Y2V4
LmxwZm5XbmRQcm9jICAgID0gUmVzb3VyY2VIYW5kbGVXbmRQcm9jOwotICAgIHdjZXguaEluc3Rh
bmNlICAgICAgPSBXZWJDb3JlOjppbnN0YW5jZUhhbmRsZSgpOwotICAgIHdjZXgubHBzekNsYXNz
TmFtZSAgPSBrUmVzb3VyY2VIYW5kbGVXaW5kb3dDbGFzc05hbWU7Ci0gICAgUmVnaXN0ZXJDbGFz
c0V4KCZ3Y2V4KTsKLQotICAgIHRyYW5zZmVySm9iV2luZG93SGFuZGxlID0gQ3JlYXRlV2luZG93
KGtSZXNvdXJjZUhhbmRsZVdpbmRvd0NsYXNzTmFtZSwgMCwgMCwgQ1dfVVNFREVGQVVMVCwgMCwg
Q1dfVVNFREVGQVVMVCwgMCwKLSAgICAgICAgSFdORF9NRVNTQUdFLCAwLCBXZWJDb3JlOjppbnN0
YW5jZUhhbmRsZSgpLCAwKTsKLX0KLQogCiBjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIg
OiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJs
aWM6CkBAIC0yMTAsNzIgKzEyOSwxMCBAQCB2b2lkIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6
ZGlkRmFpbChSCiAKIFJlc291cmNlSGFuZGxlSW50ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVy
bmFsKCkKIHsKLSAgICBpZiAobV9maWxlSGFuZGxlICE9IElOVkFMSURfSEFORExFX1ZBTFVFKQot
ICAgICAgICBDbG9zZUhhbmRsZShtX2ZpbGVIYW5kbGUpOwogfQogCiBSZXNvdXJjZUhhbmRsZTo6
flJlc291cmNlSGFuZGxlKCkKIHsKLSAgICBpZiAoZC0+bV9qb2JJZCkKLSAgICAgICAgcmVtb3Zl
RnJvbU91dHN0YW5kaW5nSm9icyhkLT5tX2pvYklkKTsKLX0KLQotdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6b25IYW5kbGVDcmVhdGVkKExQQVJBTSBsUGFyYW0pCi17Ci0gICAgaWYgKCFkLT5tX3Jlc291
cmNlSGFuZGxlKSB7Ci0gICAgICAgIGQtPm1fcmVzb3VyY2VIYW5kbGUgPSBISU5URVJORVQobFBh
cmFtKTsKLSAgICAgICAgaWYgKGQtPnN0YXR1cyAhPSAwKSB7Ci0gICAgICAgICAgICAvLyBXZSB3
ZXJlIGNhbmNlbGVkIGJlZm9yZSBXaW5kb3dzIGFjdHVhbGx5IGNyZWF0ZWQgYSBoYW5kbGUgZm9y
IHVzLCBjbG9zZSBhbmQgZGVsZXRlIG5vdy4KLSAgICAgICAgICAgIEludGVybmV0Q2xvc2VIYW5k
bGUoZC0+bV9yZXNvdXJjZUhhbmRsZSk7Ci0gICAgICAgICAgICBkZWxldGUgdGhpczsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChyZXF1ZXN0KCkuaHR0cE1l
dGhvZCgpID09ICJQT1NUIikgewotICAgICAgICAgICAgLy8gRklYTUU6IFRvbyBsYXRlIHRvIHNl
dCByZWZlcnJlciBwcm9wZXJseS4KLSAgICAgICAgICAgIFN0cmluZyB1cmxTdHIgPSByZXF1ZXN0
KCkudXJsKCkucGF0aCgpOwotICAgICAgICAgICAgaW50IGZyYWdtZW50SW5kZXggPSB1cmxTdHIu
ZmluZCgnIycpOwotICAgICAgICAgICAgaWYgKGZyYWdtZW50SW5kZXggIT0gLTEpCi0gICAgICAg
ICAgICAgICAgdXJsU3RyID0gdXJsU3RyLmxlZnQoZnJhZ21lbnRJbmRleCk7Ci0gICAgICAgICAg
ICBzdGF0aWMgTFBDU1RSIGFjY2VwdFsyXT17IiovKiIsIE5VTEx9OwotICAgICAgICAgICAgSElO
VEVSTkVUIHVybEhhbmRsZSA9IEh0dHBPcGVuUmVxdWVzdEEoZC0+bV9yZXNvdXJjZUhhbmRsZSwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUE9T
VCIsIHVybFN0ci5sYXRpbjEoKS5kYXRhKCksIDAsIDAsIGFjY2VwdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVEVSTkVUX0ZMQUdfS0VFUF9D
T05ORUNUSU9OIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJTlRFUk5FVF9GTEFHX0ZPUk1TX1NVQk1JVCB8Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5FVF9GTEFHX1JFTE9BRCB8Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5F
VF9GTEFHX05PX0NBQ0hFX1dSSVRFIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIElOVEVSTkVUX0ZMQUdfSUdOT1JFX1JFRElSRUNUX1RPX0hUVFBT
IHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElO
VEVSTkVUX0ZMQUdfSUdOT1JFX1JFRElSRUNUX1RPX0hUVFAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRFdPUkRfUFRSKWQtPm1fam9iSWQpOwot
ICAgICAgICAgICAgaWYgKHVybEhhbmRsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAg
ICAgICAgICAgICAgIEludGVybmV0Q2xvc2VIYW5kbGUoZC0+bV9yZXNvdXJjZUhhbmRsZSk7Ci0g
ICAgICAgICAgICAgICAgZGVsZXRlIHRoaXM7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICB9IGVsc2UgaWYgKCFkLT5tX3NlY29uZGFyeUhhbmRsZSkgewotICAgICAgICBhc3NlcnQocmVx
dWVzdCgpLmh0dHBNZXRob2QoKSA9PSAiUE9TVCIpOwotICAgICAgICBkLT5tX3NlY29uZGFyeUhh
bmRsZSA9IEhJTlRFUk5FVChsUGFyYW0pOwotICAgICAgICAKLSAgICAgICAgLy8gTmVlZCB0byBh
Y3R1YWxseSBzZW5kIHRoZSByZXF1ZXN0IG5vdy4KLSAgICAgICAgU3RyaW5nIGhlYWRlcnMgPSAi
Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcbiI7Ci0gICAg
ICAgIGhlYWRlcnMgKz0gIlJlZmVyZXI6ICI7Ci0gICAgICAgIGhlYWRlcnMgKz0gZC0+bV9wb3N0
UmVmZXJyZXI7Ci0gICAgICAgIGhlYWRlcnMgKz0gIlxuIjsKLSAgICAgICAgY29uc3QgQ1N0cmlu
ZyYgaGVhZGVyc0xhdGluMSA9IGhlYWRlcnMubGF0aW4xKCk7Ci0gICAgICAgIGlmIChmaXJzdFJl
cXVlc3QoKS5odHRwQm9keSgpKSB7Ci0gICAgICAgICAgICBmaXJzdFJlcXVlc3QoKS5odHRwQm9k
eSgpLT5mbGF0dGVuKGQtPm1fZm9ybURhdGEpOwotICAgICAgICAgICAgZC0+bV9ieXRlc1JlbWFp
bmluZ1RvV3JpdGUgPSBkLT5tX2Zvcm1EYXRhLnNpemUoKTsKLSAgICAgICAgfQotICAgICAgICBJ
TlRFUk5FVF9CVUZGRVJTQSBidWZmZXJzOwotICAgICAgICBtZW1zZXQoJmJ1ZmZlcnMsIDAsIHNp
emVvZihidWZmZXJzKSk7Ci0gICAgICAgIGJ1ZmZlcnMuZHdTdHJ1Y3RTaXplID0gc2l6ZW9mKElO
VEVSTkVUX0JVRkZFUlNBKTsKLSAgICAgICAgYnVmZmVycy5scGNzekhlYWRlciA9IGhlYWRlcnNM
YXRpbjEuZGF0YSgpOwotICAgICAgICBidWZmZXJzLmR3SGVhZGVyc0xlbmd0aCA9IGhlYWRlcnMu
bGVuZ3RoKCk7Ci0gICAgICAgIGJ1ZmZlcnMuZHdCdWZmZXJUb3RhbCA9IGQtPm1fYnl0ZXNSZW1h
aW5pbmdUb1dyaXRlOwotICAgICAgICAKLSAgICAgICAgSHR0cFNlbmRSZXF1ZXN0RXhBKGQtPm1f
c2Vjb25kYXJ5SGFuZGxlLCAmYnVmZmVycywgMCwgMCwgKERXT1JEX1BUUilkLT5tX2pvYklkKTsK
LSAgICAgICAgLy8gRklYTUU6IGFkZCBwcm9wZXIgZXJyb3IgaGFuZGxpbmcKLSAgICB9CiB9CiAK
IHN0YXRpYyB2b2lkIGNhbGxPblJlZGlyZWN0KHZvaWQqIGNvbnRleHQpCkBAIC0zNDYsOCArMjAz
LDYgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6b25SZXF1ZXN0Q29tcGxldGUoKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBISU5URVJORVQgaGFuZGxlID0gKHJlcXVlc3QoKS5o
dHRwTWV0aG9kKCkgPT0gIlBPU1QiKSA/IGQtPm1fc2Vjb25kYXJ5SGFuZGxlIDogZC0+bV9yZXNv
dXJjZUhhbmRsZTsKLQogICAgIHN0YXRpYyBjb25zdCBpbnQgYnVmZmVyU2l6ZSA9IDMyNzY4Owog
ICAgIGNoYXIgYnVmZmVyW2J1ZmZlclNpemVdOwogICAgIElOVEVSTkVUX0JVRkZFUlNBIGJ1ZmZl
cnM7CkBAIC00MDAsNTkgKzI1NSw2IEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6Om9uUmVxdWVzdENv
bXBsZXRlKCkKICAgICBJbnRlcm5ldENsb3NlSGFuZGxlKGQtPm1fY29ubmVjdEhhbmRsZSk7CiAg
ICAgZGVyZWYoKTsgLy8gYmFsYW5jZXMgcmVmIGluIHN0YXJ0CiAgICAgcmV0dXJuIGZhbHNlOwot
fQotCi1zdGF0aWMgdm9pZCBfX3N0ZGNhbGwgdHJhbnNmZXJKb2JTdGF0dXNDYWxsYmFjayhISU5U
RVJORVQgaW50ZXJuZXRIYW5kbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBEV09SRF9QVFIgam9iSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBEV09SRCBpbnRlcm5ldFN0YXR1cywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVk9JRCBzdGF0dXNJbmZvcm1h
dGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERX
T1JEIHN0YXR1c0luZm9ybWF0aW9uTGVuZ3RoKQotewotI2lmZGVmIFJFU09VUkNFX0xPQURFUl9E
RUJVRwotICAgIGNoYXIgYnVmWzY0XTsKLSAgICBfc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwg
InN0YXR1cy1jYWxsYmFjazogc3RhdHVzPSV1LCBqb2I9JXBcbiIsCi0gICAgICAgICAgICAgIGlu
dGVybmV0U3RhdHVzLCBqb2JJZCk7Ci0gICAgT3V0cHV0RGVidWdTdHJpbmdBKGJ1Zik7Ci0jZW5k
aWYKLQotICAgIFVJTlQgbXNnOwotICAgIExQQVJBTSBsUGFyYW07Ci0KLSAgICBzd2l0Y2ggKGlu
dGVybmV0U3RhdHVzKSB7Ci0gICAgY2FzZSBJTlRFUk5FVF9TVEFUVVNfSEFORExFX0NSRUFURUQ6
Ci0gICAgICAgIC8vIHRlbGwgdGhlIG1haW4gdGhyZWFkIGFib3V0IHRoZSBuZXdseSBjcmVhdGVk
IGhhbmRsZQotICAgICAgICBtc2cgPSBoYW5kbGVDcmVhdGVkTWVzc2FnZTsKLSAgICAgICAgbFBh
cmFtID0gKExQQVJBTSkgTFBJTlRFUk5FVF9BU1lOQ19SRVNVTFQoc3RhdHVzSW5mb3JtYXRpb24p
LT5kd1Jlc3VsdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJTlRFUk5FVF9TVEFUVVNfUkVR
VUVTVF9DT01QTEVURToKLSNpZmRlZiBSRVNPVVJDRV9MT0FERVJfREVCVUcKLSAgICAgICAgX3Nu
cHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJyZXF1ZXN0LWNvbXBsZXRlOiByZXN1bHQ9JXAsIGVy
cm9yPSV1XG4iLAotICAgICAgICAgICAgTFBJTlRFUk5FVF9BU1lOQ19SRVNVTFQoc3RhdHVzSW5m
b3JtYXRpb24pLT5kd1Jlc3VsdCwKLSAgICAgICAgICAgIExQSU5URVJORVRfQVNZTkNfUkVTVUxU
KHN0YXR1c0luZm9ybWF0aW9uKS0+ZHdFcnJvcik7Ci0gICAgICAgIE91dHB1dERlYnVnU3RyaW5n
QShidWYpOwotI2VuZGlmCi0gICAgICAgIC8vIHRlbGwgdGhlIG1haW4gdGhyZWFkIHRoYXQgdGhl
IHJlcXVlc3QgaXMgZG9uZQotICAgICAgICBtc2cgPSByZXF1ZXN0Q29tcGxldGVNZXNzYWdlOwot
ICAgICAgICBsUGFyYW0gPSAwOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIElOVEVSTkVUX1NU
QVRVU19SRURJUkVDVDoKLSAgICAgICAgLy8gdGVsbCB0aGUgbWFpbiB0aHJlYWQgdG8gb2JzZXJ2
ZSB0aGlzIHJlZGlyZWN0IChGSVhNRTogd2UgcHJvYmFibHkKLSAgICAgICAgLy8gbmVlZCB0byBi
bG9jayB0aGUgcmVkaXJlY3QgYXQgdGhpcyBwb2ludCBzbyB0aGUgYXBwbGljYXRpb24gY2FuCi0g
ICAgICAgIC8vIGRlY2lkZSB3aGV0aGVyIG9yIG5vdCB0byBmb2xsb3cgdGhlIHJlZGlyZWN0KQot
ICAgICAgICBtc2cgPSByZXF1ZXN0UmVkaXJlY3RlZE1lc3NhZ2U7Ci0gICAgICAgIGxQYXJhbSA9
IChMUEFSQU0pIFN0cmluZ0ltcGw6OmNyZWF0ZSgoY29uc3QgVUNoYXIqKSBzdGF0dXNJbmZvcm1h
dGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1
c0luZm9ybWF0aW9uTGVuZ3RoKS5yZWxlYXNlUmVmKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgSU5URVJORVRfU1RBVFVTX1VTRVJfSU5QVVRfUkVRVUlSRUQ6Ci0gICAgICAgIC8vIEZJWE1F
OiBwcm9tcHQgdGhlIHVzZXIgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIFJlc3VtZVN1c3BlbmRlZERv
d25sb2FkKGludGVybmV0SGFuZGxlLCAwKTsKLSAgICBjYXNlIElOVEVSTkVUX1NUQVRVU19TVEFU
RV9DSEFOR0U6Ci0gICAgICAgIC8vIG1heSBuZWVkIHRvIGNhbGwgUmVzdW1lU3VzcGVuZGVkRG93
bmxvYWQgaGVyZSBhcyB3ZWxsCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIFBvc3RNZXNzYWdlKHRyYW5zZmVySm9iV2luZG93SGFuZGxlLCBtc2csIChXUEFSQU0p
IGpvYklkLCBsUGFyYW0pOwogfQogCiBib29sIFJlc291cmNlSGFuZGxlOjpzdGFydChOZXR3b3Jr
aW5nQ29udGV4dCogY29udGV4dCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uaAkocmV2aXNpb24gNjgyNjUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNiBBcHBsZSBD
b21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBSZXNv
dXJjZUhhbmRsZVdpbl9oCi0jZGVmaW5lIFJlc291cmNlSGFuZGxlV2luX2gKLQotI2luY2x1ZGUg
PHdpbmRvd3MuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgUGxhdGZvcm1EYXRh
U3RydWN0Ci17Ci0gICAgRFdPUkQgICBlcnJvcjsKLSAgICBCT09MICAgIGxvYWRlZDsKLSAgICBM
UFRTVFIgIGVycm9yU3RyaW5nOwotfTsKLQotc3RydWN0IFBsYXRmb3JtUmVzcG9uc2VTdHJ1Y3QK
LXsKLX07Ci0KLX0KLQotI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>