<?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>54575</bug_id>
          
          <creation_ts>2011-02-16 11:27:01 -0800</creation_ts>
          <short_desc>Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint on a page that uses accelerated compositing</short_desc>
          <delta_ts>2011-02-16 12:39:03 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>352219</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-16 11:27:01 -0800</bug_when>
    <thetext>If you call WKPageForceRepaint on a page that uses accelerated compositing, the web process fails an assertion in DrawingAreaImpl::display:


ASSERTION FAILED: !m_layerTreeHost
/Volumes/Data/Users/aroben/dev/WebKit/OpenSource/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp(356) : void WebKit::DrawingAreaImpl::display()
 -&gt; WebKit::DrawingAreaImpl::display()
 -&gt; WebKit::DrawingAreaImpl::forceRepaint()
 -&gt; WebKit::WebPage::forceRepaint(unsigned long long)
 -&gt; void CoreIPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long), unsigned long long&gt;(CoreIPC::Arguments1&lt;unsigned long long&gt; const&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long))
 -&gt; void CoreIPC::handleMessage&lt;Messages::WebPage::ForceRepaint, WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long)&gt;(CoreIPC::ArgumentDecoder*, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long))
 -&gt; WebKit::WebPage::didReceiveWebPageMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*)
 -&gt; WebKit::WebPage::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*)
 -&gt; WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*)
 -&gt; CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&lt;CoreIPC::ArgumentDecoder&gt;&amp;)
 -&gt; CoreIPC::Connection::dispatchMessages()
 -&gt; MemberFunctionWorkItem0&lt;CoreIPC::Connection&gt;::execute()
 -&gt; RunLoop::performWork()
 -&gt; RunLoop::performWork(void*)
 -&gt; __CFRunLoopDoSources0
 -&gt; __CFRunLoopRun
 -&gt; CFRunLoopRunSpecific
 -&gt; RunCurrentEventLoopInMode
 -&gt; ReceiveNextEventCommon
 -&gt; BlockUntilNextEventMatchingListInMode
 -&gt; _DPSNextEvent
 -&gt; -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
 -&gt; -[NSApplication run]
 -&gt; RunLoop::run()
 -&gt; WebKit::WebProcessMain(WebKit::CommandLine const&amp;)
 -&gt; _ZL10WebKitMainRKN6WebKit11CommandLineE
 -&gt; WebKitMain
 -&gt; main
 -&gt; start
 -&gt; 0x6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352222</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-16 11:30:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/8979594&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352250</commentid>
    <comment_count>2</comment_count>
      <attachid>82673</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-16 12:16:10 -0800</bug_when>
    <thetext>Created attachment 82673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352251</commentid>
    <comment_count>3</comment_count>
      <attachid>82673</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-16 12:18:02 -0800</bug_when>
    <thetext>Comment on attachment 82673
Patch

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

Please add a test case.

&gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:149
&gt; +    if (m_layerTreeHost) {
&gt; +        m_layerTreeHost-&gt;forceRepaint();
&gt; +
&gt; +        return;
&gt; +    }

I don&apos;t think you need the extra blank line in here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352261</commentid>
    <comment_count>4</comment_count>
      <attachid>82675</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-16 12:35:47 -0800</bug_when>
    <thetext>Created attachment 82675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352262</commentid>
    <comment_count>5</comment_count>
      <attachid>82675</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-16 12:36:58 -0800</bug_when>
    <thetext>Comment on attachment 82675
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:52
&gt; +    WKRetainPtr&lt;WKContextRef&gt; context(AdoptWK, WKContextCreate());

You can use Util::adoptWK here instead if you like.

&gt; Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:62
&gt; +    WKRetainPtr&lt;WKURLRef&gt; url(AdoptWK, Util::createURLForResource(&quot;simple-accelerated-compositing&quot;, &quot;html&quot;));

You can use Util::adoptWK here instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352264</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-16 12:39:03 -0800</bug_when>
    <thetext>Committed r78729: &lt;http://trac.webkit.org/changeset/78729&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82673</attachid>
            <date>2011-02-16 12:16:10 -0800</date>
            <delta_ts>2011-02-16 12:35:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54575-20110216121609.patch</filename>
            <type>text/plain</type>
            <size>3633</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NzI4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMTYgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSBpbiBEcmF3aW5nQXJlYUlt
cGw6OmRpc3BsYXkgd2hlbiBjYWxsaW5nIFdLUGFnZUZvcmNlUmVwYWludCBvbiBhIHBhZ2UgdGhh
dCB1c2VzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDU3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3
OTU5ND4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmZvcmNlUmVwYWludCk6CisgICAg
ICAgIElmIHRoZXJlIGlzIGEgbGF5ZXIgdHJlZSBob3N0LCBhc2sgaXQgdG8gZm9yY2UgYSByZXBh
aW50IGluc3RlYWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdE1hYzo6Zm9yY2VSZXBhaW50KToKKyAgICAg
ICAgRmx1c2ggYW55IGxheWVyIGNoYW5nZXMsIHRoZW4gZmx1c2ggYW5kIHN5bmNocm9uaXplIHRo
ZSBjdXJyZW50IENBIHRyYW5zYWN0aW9uLgorCiAyMDExLTAyLTE2ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nv
bi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwCShyZXZpc2lvbiA3ODcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDIsNiArMTQyLDEyIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzY3JvbGwoY29uc3QgSW50UmUK
IAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmZvcmNlUmVwYWludCgpCiB7CisgICAgaWYgKG1fbGF5
ZXJUcmVlSG9zdCkgeworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmZvcmNlUmVwYWludCgpOwor
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZSA9
IGZhbHNlOwogICAgIGRpc3BsYXkoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAkocmV2aXNpb24gNzg3MjgpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRO
b25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Ny
b2xsT2Zmc2V0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdT
aXplKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAw
OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9MYXllclRyZWVI
b3N0TWFjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9MYXllclRyZWVIb3N0TWFjLmgJKHJldmlzaW9uIDc4NzI4KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9MYXllclRyZWVIb3N0TWFjLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUzLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0Tm9uQ29t
cG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0
KTsKICAgICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBuZXdTaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQgZm9yY2VSZXBhaW50KCk7CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVu
aW5zdGFsbFBhZ2VPdmVybGF5KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL0xheWVyVHJlZUhvc3RNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9MYXllclRyZWVIb3N0TWFjLm1tCShyZXZpc2lvbiA3
ODcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVl
SG9zdE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTY5LDYgKzE2OSwxNSBAQCB2b2lkIExheWVy
VHJlZUhvc3RNYWM6OnNpemVEaWRDaGFuZ2UoY29uCiAgICAgW0NBVHJhbnNhY3Rpb24gc3luY2hy
b25pemVdOwogfQogCit2b2lkIExheWVyVHJlZUhvc3RNYWM6OmZvcmNlUmVwYWludCgpCit7Cisg
ICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CisgICAgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7
CisKKyAgICBbQ0FUcmFuc2FjdGlvbiBmbHVzaF07CisgICAgW0NBVHJhbnNhY3Rpb24gc3luY2hy
b25pemVdOworfSAgICAKKwogdm9pZCBMYXllclRyZWVIb3N0TWFjOjpkaWRJbnN0YWxsUGFnZU92
ZXJsYXkoKQogewogICAgIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82675</attachid>
            <date>2011-02-16 12:35:47 -0800</date>
            <delta_ts>2011-02-16 12:36:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54575-20110216123546.patch</filename>
            <type>text/plain</type>
            <size>14012</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NzI4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMTYgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSBpbiBEcmF3aW5nQXJlYUlt
cGw6OmRpc3BsYXkgd2hlbiBjYWxsaW5nIFdLUGFnZUZvcmNlUmVwYWludCBvbiBhIHBhZ2UgdGhh
dCB1c2VzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDU3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3
OTU5ND4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmZvcmNlUmVwYWludCk6CisgICAg
ICAgIElmIHRoZXJlIGlzIGEgbGF5ZXIgdHJlZSBob3N0LCBhc2sgaXQgdG8gZm9yY2UgYSByZXBh
aW50IGluc3RlYWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdE1hYzo6Zm9yY2VSZXBhaW50KToKKyAgICAg
ICAgRmx1c2ggYW55IGxheWVyIGNoYW5nZXMsIHRoZW4gZmx1c2ggYW5kIHN5bmNocm9uaXplIHRo
ZSBjdXJyZW50IENBIHRyYW5zYWN0aW9uLgorCiAyMDExLTAyLTE2ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nv
bi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwCShyZXZpc2lvbiA3ODcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDIsNiArMTQyLDExIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzY3JvbGwoY29uc3QgSW50UmUK
IAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmZvcmNlUmVwYWludCgpCiB7CisgICAgaWYgKG1fbGF5
ZXJUcmVlSG9zdCkgeworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmZvcmNlUmVwYWludCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGUgPSBm
YWxzZTsKICAgICBkaXNwbGF5KCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgJKHJldmlzaW9uIDc4NzI4KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAkod29ya2luZyBj
b3B5KQpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Tm9u
Q29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9s
bE9mZnNldCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6
ZSkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpID0gMDsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9z
dE1hYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvTGF5ZXJUcmVlSG9zdE1hYy5oCShyZXZpc2lvbiA3ODcyOCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw2ICs1Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldE5vbkNvbXBv
c2l0ZWRDb250ZW50c05lZWREaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCk7
CiAgICAgdmlydHVhbCB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
bmV3U2l6ZSk7CisgICAgdmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpOwogCiAgICAgdmlydHVh
bCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmlu
c3RhbGxQYWdlT3ZlcmxheSgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9MYXllclRyZWVIb3N0TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbQkocmV2aXNpb24gNzg3
MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyVHJlZUhv
c3RNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2OSw2ICsxNjksMTUgQEAgdm9pZCBMYXllclRy
ZWVIb3N0TWFjOjpzaXplRGlkQ2hhbmdlKGNvbgogICAgIFtDQVRyYW5zYWN0aW9uIHN5bmNocm9u
aXplXTsKIH0KIAordm9pZCBMYXllclRyZWVIb3N0TWFjOjpmb3JjZVJlcGFpbnQoKQoreworICAg
IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOworICAgIGZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpOwor
CisgICAgW0NBVHJhbnNhY3Rpb24gZmx1c2hdOworICAgIFtDQVRyYW5zYWN0aW9uIHN5bmNocm9u
aXplXTsKK30gICAgCisKIHZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6ZGlkSW5zdGFsbFBhZ2VPdmVy
bGF5KCkKIHsKICAgICBjcmVhdGVQYWdlT3ZlcmxheUxheWVyKCk7CkluZGV4OiBUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3ODcyOCkKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTAy
LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4g
RHJhd2luZ0FyZWFJbXBsOjpkaXNwbGF5IHdoZW4gY2FsbGluZyBXS1BhZ2VGb3JjZVJlcGFpbnQg
b24gYSBwYWdlIHRoYXQgdXNlcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ1NzUKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzg5Nzk1OTQ+CisKKyAgICAgICAgQWRkIHRlc3QuCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZvcmNlUmVwYWludC5jcHA6IEFkZGVkLgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGlkRm9yY2VSZXBhaW50KToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvc2ltcGxlLWFj
Y2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvd2lu
L2NvcHktcmVzb3VyY2VzLmNtZDoKKwogMjAxMS0wMi0xNiAgU2VyZ2lvIFZpbGxhciBTZW5pbiAg
PHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5z
b24uCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzg3MjgpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAsOCBAQAogCQkxQTAyQzg0RjEyNUQ0QTg0MDBFM0Y0
QkQgLyogRmluZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTAyQzg0RTEyNUQ0QTg0MDBFM0Y0QkQgLyogRmluZC5jcHAgKi87IH07CiAJCTFBMDJD
ODcwMTI1RDRDRkQwMEUzRjRCRCAvKiBmaW5kLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwMkM4NEIxMjVENEE1RTAwRTNGNEJEIC8q
IGZpbmQuaHRtbCAqLzsgfTsKIAkJMUE1RkVGREQxMjcwRTJBMzAwMEUyOTIxIC8qIEV2YWx1YXRl
SmF2YVNjcmlwdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTVGRUZEQzEyNzBFMkEzMDAwRTI5MjEgLyogRXZhbHVhdGVKYXZhU2NyaXB0LmNwcCAq
LzsgfTsKKwkJMUFEQkVGQUUxMzBDNjg5QzAwRDYxRDE5IC8qIEZvcmNlUmVwYWludC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURCRUZBRDEzMEM2
ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNwcCAqLzsgfTsKKwkJMUFEQkVGRTMxMzBDNkFB
MTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREJFRkJDMTMw
QzZBMDEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCAqLzsg
fTsKIAkJMzMzQjlDRTIxMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJBZ2VudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzNCOUNF
MTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLzsgfTsKIAkJ
QkMxMzE4ODUxMTcxMTRCNjAwQjY5NzI3IC8qIFBsYXRmb3JtVXRpbGl0aWVzTWFjLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxMzE4ODQxMTcxMTRC
NjAwQjY5NzI3IC8qIFBsYXRmb3JtVXRpbGl0aWVzTWFjLm1tICovOyB9OwogCQlCQzEzMUE5QjEx
NzEzMTY5MDBCNjk3MjcgLyogbWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDMTMxQTlBMTE3MTMxNjkwMEI2OTcyNyAvKiBtYWluLm1tICovOyB9
OwpAQCAtODIsNiArODQsNyBAQAogCQkJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1w
bGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUMwMUEyM0YyMTI2NjE1Njcw
MEM5RUQ1NSAvKiBzcGFjZWJhci1zY3JvbGxpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQlCQzJEMDA2NDEyQUEwNENFMDBFNzMyQTMgLyogZmlsZS13aXRoLWFuY2hvci5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAorCQkJCTFBREJFRkUzMTMwQzZBQTEwMEQ2MUQxOSAvKiBzaW1w
bGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CSk7CiAJCQluYW1lID0gIkNvcHkgUmVzb3VyY2VzIjsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtOTIsNiArOTUsOCBAQAogCQkxQTAyQzg0QjEyNUQ0QTVF
MDBFM0Y0QkQgLyogZmluZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZmluZC5o
dG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTAyQzg0RTEyNUQ0QTg0MDBFM0Y0
QkQgLyogRmluZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaW5k
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE1RkVGREMxMjcwRTJBMzAwMEUy
OTIxIC8qIEV2YWx1YXRlSmF2YVNjcmlwdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBFdmFsdWF0ZUphdmFTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQURCRUZBRDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcmNlUmVwYWludC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBREJFRkJDMTMwQzZBMDEwMEQ2MUQxOSAvKiBzaW1w
bGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0
aCA9ICJzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMzM0I5Q0UxMTI3N0YyMzEwMEZFRkNFMyAvKiBQcmV2ZW50RW1wdHlV
c2VyQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJldmVu
dEVtcHR5VXNlckFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERENzZG
QTEwNDg2QUE3NjAwRDk2QjVFIC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZXhlY3V0YWJsZSI7
IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFRlc3RXZWJLaXRBUEk7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUJDMTMxODgzMTE3MTE0QTgwMEI2OTcyNyAvKiBQbGF0
Zm9ybVV0aWxpdGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9y
bVV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQ5LDYgKzI1NCw3
IEBACiAJCQkJMUE1RkVGREMxMjcwRTJBMzAwMEUyOTIxIC8qIEV2YWx1YXRlSmF2YVNjcmlwdC5j
cHAgKi8sCiAJCQkJQkNDOEI5NUExMjYxMUY0NzAwREU0NkE0IC8qIEZhaWxlZExvYWQuY3BwICov
LAogCQkJCTFBMDJDODRFMTI1RDRBODQwMEUzRjRCRCAvKiBGaW5kLmNwcCAqLywKKwkJCQkxQURC
RUZBRDEzMEM2ODlDMDBENjFEMTkgLyogRm9yY2VSZXBhaW50LmNwcCAqLywKIAkJCQlCQ0JEMzcw
RjEyNUFBMkVCMDBEMkMyOUYgLyogRnJhbWVNSU1FVHlwZUhUTUwuY3BwICovLAogCQkJCUJDQkQz
NzYwMTI1QUJDRkUwMEQyQzI5RiAvKiBGcmFtZU1JTUVUeXBlUE5HLmNwcCAqLywKIAkJCQlCQzU3
NUFBQzEyNkU4M0I5MDA2RjBGMTIgLyogSW5qZWN0ZWRCdW5kbGVCYXNpYy5jcHAgKi8sCkBAIC0y
NzksOCArMjg1LDkgQEAKIAkJCQlCQzJEMDA0QTEyQTlGRUIzMDBFNzMyQTMgLyogZmlsZS13aXRo
LWFuY2hvci5odG1sICovLAogCQkJCTFBMDJDODRCMTI1RDRBNUUwMEUzRjRCRCAvKiBmaW5kLmh0
bWwgKi8sCiAJCQkJQkNCRDM3MkUxMjVBQkJFNjAwRDJDMjlGIC8qIGljb24ucG5nICovLAotCQkJ
CUJDOTA5Nzc4MTI1NTcxQUIwMDA4Mzc1NiAvKiBzaW1wbGUuaHRtbCAqLywKKwkJCQkxQURCRUZC
QzEzMEM2QTAxMDBENjFEMTkgLyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwg
Ki8sCiAJCQkJQzBBREJFODQxMkZDQTZCNjAwRDJDMTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgKi8s
CisJCQkJQkM5MDk3NzgxMjU1NzFBQjAwMDgzNzU2IC8qIHNpbXBsZS5odG1sICovLAogCQkJCUMw
MkI3ODgyMTI2NjE1NDEwMDI2QkYwRiAvKiBzcGFjZWJhci1zY3JvbGxpbmcuaHRtbCAqLywKIAkJ
CSk7CiAJCQluYW1lID0gUmVzb3VyY2VzOwpAQCAtNDA3LDYgKzQxNCw3IEBACiAJCQkJQkMyRDAw
NDkxMkE5RkRGQTAwRTczMkEzIC8qIFBhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdl
Rm9yRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzBBREJFN0MxMkZDQTREMDAwRDJDMTI5
IC8qIEphdmFTY3JpcHRUZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMwQURCRTgzMTJGQ0E2
QUEwMEQyQzEyOSAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTFBREJFRkFFMTMwQzY4OUMwMEQ2MUQxOSAvKiBGb3JjZVJlcGFp
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvRm9yY2VSZXBhaW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvRm9yY2VSZXBhaW50LmNwcAkocmV2aXNpb24gMCkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Gb3JjZVJlcGFpbnQuY3BwCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRlc3QuaCIKKworI2luY2x1
ZGUgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisj
aW5jbHVkZSA8V2ViS2l0Mi9XZWJLaXQyLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0
ci5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyBib29sIHRlc3QxRG9u
ZTsKK3N0YXRpYyBib29sIHRlc3QyRG9uZTsKKyAgICAKK3ZvaWQgZGlkRm9yY2VSZXBhaW50KFdL
RXJyb3JSZWYgZXJyb3IsIHZvaWQqKQoreworICAgIFRFU1RfQVNTRVJUKCFlcnJvcik7CisgICAg
dGVzdDJEb25lID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1l
KFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgdGVzdDFEb25lID0gdHJ1ZTsKKyAgICBXS1Bh
Z2VGb3JjZVJlcGFpbnQocGFnZSwgMCwgZGlkRm9yY2VSZXBhaW50KTsKK30KKworVEVTVChXZWJL
aXQyLCBGb3JjZVJlcGFpbnQpCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2Vi
Vmlldyhjb250ZXh0LmdldCgpKTsKKworICAgIFdLUGFnZUxvYWRlckNsaWVudCBsb2FkZXJDbGll
bnQ7CisgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsK
KworICAgIGxvYWRlckNsaWVudC52ZXJzaW9uID0gMDsKKyAgICBsb2FkZXJDbGllbnQuZGlkRmlu
aXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgIFdLUGFnZVNldFBh
Z2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQpOworCisgICAgV0tS
ZXRhaW5QdHI8V0tVUkxSZWY+IHVybChBZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJj
ZSgic2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nIiwgImh0bWwiKSk7CisgICAgV0tQYWdl
TG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKKworICAgIFV0aWw6OnJ1bigmdGVz
dDFEb25lKTsKKyAgICBVdGlsOjpydW4oJnRlc3QyRG9uZSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9z
aW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5n
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIv
c2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNSBAQAorPGh0bWw+Cis8Ym9keT4KKyAgICA8ZGl2IHN0eWxlPSItd2Via2l0LXRyYW5zZm9y
bTogdHJhbnNsYXRlWigwKTsiPlNpbXBsZSBIVE1MIGZpbGUgd2l0aCBhY2NlbGVyYXRlZCBjb21w
b3NpdGluZzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS93aW4vVGVzdFdlYktpdEFQSS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS93aW4vVGVzdFdlYktpdEFQSS52Y3Byb2oJKHJldmlzaW9uIDc4NzI4KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS93aW4vVGVzdFdlYktpdEFQSS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAg
LTQyOCw2ICs0MjgsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdlYktpdDJcRm9yY2VSZXBhaW50LmNwcCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdlYktp
dDJcZmluZC5odG1sIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtNDY0LDYgKzQ2OCwxMCBAQAog
CQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVGVz
dHNcV2ViS2l0MlxzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcuaHRtbCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdlYktp
dDJcc2ltcGxlLmh0bWwiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL3dpbi9jb3B5LXJlc291cmNlcy5jbWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS93aW4vY29weS1yZXNvdXJjZXMuY21kCShyZXZpc2lvbiA3ODcyOCkKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvd2luL2NvcHktcmVzb3VyY2VzLmNtZAkod29ya2luZyBjb3B5KQpAQCAt
MTIsNiArMTIsNyBAQCBmb3IgJSVmIGluICgKICAgICAuLlxUZXN0c1xXZWJLaXQyXGZpbmQuaHRt
bAogICAgIC4uXFRlc3RzXFdlYktpdDJcaWNvbi5wbmcKICAgICAuLlxUZXN0c1xXZWJLaXQyXHNp
bXBsZS5odG1sCisgICAgLi5cVGVzdHNcV2ViS2l0MlxzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9z
aXRpbmcuaHRtbAogICAgIC4uXFRlc3RzXFdlYktpdDJcc2ltcGxlLWZvcm0uaHRtbAogICAgIC4u
XFRlc3RzXFdlYktpdDJcc3BhY2ViYXItc2Nyb2xsaW5nLmh0bWwKICkgZG8gKAo=
</data>
<flag name="review"
          id="74354"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>