<?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>167682</bug_id>
          
          <creation_ts>2017-01-31 20:21:29 -0800</creation_ts>
          <short_desc>[Mac] REGRESSION (r203605): Trillian chat bubbles do not show</short_desc>
          <delta_ts>2017-02-01 09:27:34 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160087</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mkwst</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1272029</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 20:21:29 -0800</bug_when>
    <thetext>Trillian chat bubbles do not show after &lt;http://trac.webkit.org/changeset/203605&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272030</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 20:21:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/30273684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272041</commentid>
    <comment_count>2</comment_count>
      <attachid>300297</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 21:17:40 -0800</bug_when>
    <thetext>Created attachment 300297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272043</commentid>
    <comment_count>3</comment_count>
      <attachid>300297</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 21:20:54 -0800</bug_when>
    <thetext>Comment on attachment 300297
Patch

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

&gt; Source/WebCore/dom/NonElementParentNode.idl:-31
&gt; -    [DOMJIT=ReadDOM] Element? getElementById([RequiresExistingAtomicString] DOMString elementId);

Yusuke / Ryosuke: Unfortunately, DOMJIT does not seem to be compatible with overloads so this current version drops JIT&apos;ing of getElementById(). Do you have a better proposal?

I tried using an optional parameter instead but then I could not distinguish the 2 cases:
- no parameter is passed (Should throw except for Trillian which should use the string &quot;undefined&quot;).
- called with undefined (should use the string &quot;undefined&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272105</commentid>
    <comment_count>4</comment_count>
      <attachid>300297</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-01 03:41:39 -0800</bug_when>
    <thetext>Comment on attachment 300297
Patch

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

&gt;&gt; Source/WebCore/dom/NonElementParentNode.idl:-31
&gt;&gt; -    [DOMJIT=ReadDOM] Element? getElementById([RequiresExistingAtomicString] DOMString elementId);
&gt; 
&gt; Yusuke / Ryosuke: Unfortunately, DOMJIT does not seem to be compatible with overloads so this current version drops JIT&apos;ing of getElementById(). Do you have a better proposal?
&gt; 
&gt; I tried using an optional parameter instead but then I could not distinguish the 2 cases:
&gt; - no parameter is passed (Should throw except for Trillian which should use the string &quot;undefined&quot;).
&gt; - called with undefined (should use the string &quot;undefined&quot;)

DOMJIT should support this case. This signature based optimization only works in DFG/FTL and it recognizes the argument count in DFG.
So ideally, we should apply DOMJIT optimization when getElementById is called with one argument.
Can we annotate the generated function with the current DOMJIT signature? I think it should work. It means,

1. When using DOMJIT function in LLInt / baseline, it is ok.
2. When using DOMJIT function in DFG / FTL, DFG compiler checks the call form of the DOMJIT function. If it does not meet to the form of the DOMJIT, DFG just ignores this annotation and handles it as a normal function. So it should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272127</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-01 07:15:18 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 300297 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=300297&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/NonElementParentNode.idl:-31
&gt; &gt;&gt; -    [DOMJIT=ReadDOM] Element? getElementById([RequiresExistingAtomicString] DOMString elementId);
&gt; &gt; 
&gt; &gt; Yusuke / Ryosuke: Unfortunately, DOMJIT does not seem to be compatible with overloads so this current version drops JIT&apos;ing of getElementById(). Do you have a better proposal?
&gt; &gt; 
&gt; &gt; I tried using an optional parameter instead but then I could not distinguish the 2 cases:
&gt; &gt; - no parameter is passed (Should throw except for Trillian which should use the string &quot;undefined&quot;).
&gt; &gt; - called with undefined (should use the string &quot;undefined&quot;)
&gt; 
&gt; DOMJIT should support this case. This signature based optimization only
&gt; works in DFG/FTL and it recognizes the argument count in DFG.
&gt; So ideally, we should apply DOMJIT optimization when getElementById is
&gt; called with one argument.
&gt; Can we annotate the generated function with the current DOMJIT signature? I
&gt; think it should work. It means,
&gt; 
&gt; 1. When using DOMJIT function in LLInt / baseline, it is ok.
&gt; 2. When using DOMJIT function in DFG / FTL, DFG compiler checks the call
&gt; form of the DOMJIT function. If it does not meet to the form of the DOMJIT,
&gt; DFG just ignores this annotation and handles it as a normal function. So it
&gt; should work.

But in practice, the script seems to complain that DOMJIT does not support overloads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272140</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-01 08:51:44 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 300297 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=300297&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/dom/NonElementParentNode.idl:-31
&gt; &gt; &gt;&gt; -    [DOMJIT=ReadDOM] Element? getElementById([RequiresExistingAtomicString] DOMString elementId);
&gt; &gt; &gt; 
&gt; &gt; &gt; Yusuke / Ryosuke: Unfortunately, DOMJIT does not seem to be compatible with overloads so this current version drops JIT&apos;ing of getElementById(). Do you have a better proposal?
&gt; &gt; &gt; 
&gt; &gt; &gt; I tried using an optional parameter instead but then I could not distinguish the 2 cases:
&gt; &gt; &gt; - no parameter is passed (Should throw except for Trillian which should use the string &quot;undefined&quot;).
&gt; &gt; &gt; - called with undefined (should use the string &quot;undefined&quot;)
&gt; &gt; 
&gt; &gt; DOMJIT should support this case. This signature based optimization only
&gt; &gt; works in DFG/FTL and it recognizes the argument count in DFG.
&gt; &gt; So ideally, we should apply DOMJIT optimization when getElementById is
&gt; &gt; called with one argument.
&gt; &gt; Can we annotate the generated function with the current DOMJIT signature? I
&gt; &gt; think it should work. It means,
&gt; &gt; 
&gt; &gt; 1. When using DOMJIT function in LLInt / baseline, it is ok.
&gt; &gt; 2. When using DOMJIT function in DFG / FTL, DFG compiler checks the call
&gt; &gt; form of the DOMJIT function. If it does not meet to the form of the DOMJIT,
&gt; &gt; DFG just ignores this annotation and handles it as a normal function. So it
&gt; &gt; should work.
&gt; 
&gt; But in practice, the script seems to complain that DOMJIT does not support
&gt; overloads.

PhaseScriptExecution Generate Derived Sources
Overloads is not supported in DOMJIT at /Volumes/Data/WebKit/OpenSource/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm line 3123.
make[3]: *** [JSDocumentFragment.h] Error 255
make[3]: *** Waiting for unfinished jobs....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272145</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-01 09:05:26 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Comment on attachment 300297 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=300297&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt;&gt; Source/WebCore/dom/NonElementParentNode.idl:-31
&gt; &gt; &gt; &gt;&gt; -    [DOMJIT=ReadDOM] Element? getElementById([RequiresExistingAtomicString] DOMString elementId);
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Yusuke / Ryosuke: Unfortunately, DOMJIT does not seem to be compatible with overloads so this current version drops JIT&apos;ing of getElementById(). Do you have a better proposal?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I tried using an optional parameter instead but then I could not distinguish the 2 cases:
&gt; &gt; &gt; &gt; - no parameter is passed (Should throw except for Trillian which should use the string &quot;undefined&quot;).
&gt; &gt; &gt; &gt; - called with undefined (should use the string &quot;undefined&quot;)
&gt; &gt; &gt; 
&gt; &gt; &gt; DOMJIT should support this case. This signature based optimization only
&gt; &gt; &gt; works in DFG/FTL and it recognizes the argument count in DFG.
&gt; &gt; &gt; So ideally, we should apply DOMJIT optimization when getElementById is
&gt; &gt; &gt; called with one argument.
&gt; &gt; &gt; Can we annotate the generated function with the current DOMJIT signature? I
&gt; &gt; &gt; think it should work. It means,
&gt; &gt; &gt; 
&gt; &gt; &gt; 1. When using DOMJIT function in LLInt / baseline, it is ok.
&gt; &gt; &gt; 2. When using DOMJIT function in DFG / FTL, DFG compiler checks the call
&gt; &gt; &gt; form of the DOMJIT function. If it does not meet to the form of the DOMJIT,
&gt; &gt; &gt; DFG just ignores this annotation and handles it as a normal function. So it
&gt; &gt; &gt; should work.
&gt; &gt; 
&gt; &gt; But in practice, the script seems to complain that DOMJIT does not support
&gt; &gt; overloads.
&gt; 
&gt; PhaseScriptExecution Generate Derived Sources
&gt; Overloads is not supported in DOMJIT at
&gt; /Volumes/Data/WebKit/OpenSource/Source/WebCore/bindings/scripts/
&gt; CodeGeneratorJS.pm line 3123.
&gt; make[3]: *** [JSDocumentFragment.h] Error 255
&gt; make[3]: *** Waiting for unfinished jobs....

OK, I&apos;ll take a look at this part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272154</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-01 09:27:34 -0800</bug_when>
    <thetext>Fixed in Trillian 3.5:
www.trillian.im/get/mac/3.5/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300297</attachid>
            <date>2017-01-31 21:17:40 -0800</date>
            <delta_ts>2017-01-31 21:17:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167682-20170131211528.patch</filename>
            <type>text/plain</type>
            <size>11794</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE0MDhhMTlkY2ZkZWZl
NGNjYjY5ZjhmMTYwMjQ0M2JlNWIzZWFmMi4uODEyM2JlNmM5MmY0Nzg4YjZkYmIzZjU0OGJjNDM5
ZGY1ZWQ2ODY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAxLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gUmVncmVzc2lvbihy
MjAzNjA1KTogVHJpbGxpYW4gY2hhdCBidWJibGVzIGRvIG5vdCBzaG93CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc2ODIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMjczNjg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBxdWlyayBmb3IgVHJpbGxpYW4gYXBwIG9uIE1hYywgYWxsb3dpbmcg
aXQgdG8gdGVtcG9yYXJpbHkgY2FsbAorICAgICAgICBEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgp
IHdpdGhvdXQgcGFyYW1ldGVyLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZURlZmF1bHRWYWx1ZSk6CisgICAgICAgIChH
ZXRGdW5jdGlvbkxlbmd0aCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OmdldEVsZW1lbnRCeUlkUXVpcmspOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50RnJhZ21lbnQ6OmdldEVsZW1lbnRCeUlkUXVpcmspOgorICAgICAgICAqIGRvbS9E
b2N1bWVudEZyYWdtZW50Lmg6CisgICAgICAgICogZG9tL05vbkVsZW1lbnRQYXJlbnROb2RlLmlk
bDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgorICAgICAgICAqIHBsYXRmb3JtL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1hY0FwcGxpY2F0aW9uOjppc1RyaWxs
aWFuKToKKwogMjAxNy0wMS0zMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFNpbXBsZSBsaW5lIGxheW91dDogQ29sbGVjdCBmcmFnbWVudHMgaW4gTGluZVN0YXRl
IG9ubHkgd2hlbiBuZWVkZWQgZm9yIHBvc3QtcHJvY2Vzc2luZy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCA1NTgxNjE1NGU1MjQwYjkxY2M0NTY0MDIwZWMxZDZkOWJmNzk2NDFmLi41YThjNzdkN2QyN2Nj
MjY1YTg5MDY3YmIwMjQzM2YyOTcxODc4YjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTctMDEtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBbTWFjXSBSZWdyZXNzaW9uKHIyMDM2MDUpOiBUcmlsbGlhbiBjaGF0IGJ1YmJsZXMgZG8g
bm90IHNob3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NzY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAyNzM2ODQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHF1aXJrIGZvciBUcmlsbGlh
biBhcHAgb24gTWFjLCBhbGxvd2luZyBpdCB0byB0ZW1wb3JhcmlseSBjYWxsCisgICAgICAgIERv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCkgd2l0aG91dCBwYXJhbWV0ZXIuCisKKyAgICAgICAgKiBN
aXNjL1dlYktpdFZlcnNpb25DaGVja3MuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06
CisgICAgICAgIChzaG91bGRBbGxvd0dldEVsZW1lbnRCeUlkV2l0aG91dFBhcmFtZXRlcik6Cisg
ICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxNy0wMS0zMSAg
SmVzc2llIEJlcmxpbiAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCdWlsZCBmaXgu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCmluZGV4IDMxYTZjNDdhNjYxOTcxYTQwM2M4Mjg5MWIwYzMxMzVhMzAzYmM3NGQuLjdiMDY4
ZmRjMDg1NGFjMzZjZmVmMzA3NGRhMTcyODhhMTE3OGEzODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNDE3LDcgKzE0
MTcsNyBAQCBzdWIgR2VuZXJhdGVEZWZhdWx0VmFsdWUKICAgICBteSAoJHR5cGVTY29wZSwgJGNv
bnRleHQsICR0eXBlLCAkZGVmYXVsdFZhbHVlKSA9IEBfOwogCiAgICAgaWYgKCRjb2RlR2VuZXJh
dG9yLT5Jc1N0cmluZ1R5cGUoJHR5cGUpKSB7Ci0gICAgICAgIG15ICR1c2VBdG9taWNTdHJpbmcg
PSAkY29udGV4dC0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57QXRvbWljU3RyaW5nfTsKKyAgICAgICAg
bXkgJHVzZUF0b21pY1N0cmluZyA9ICRjb250ZXh0LT5leHRlbmRlZEF0dHJpYnV0ZXMtPntBdG9t
aWNTdHJpbmd9IHx8ICRjb250ZXh0LT5leHRlbmRlZEF0dHJpYnV0ZXMtPntSZXF1aXJlc0V4aXN0
aW5nQXRvbWljU3RyaW5nfTsKICAgICAgICAgaWYgKCRkZWZhdWx0VmFsdWUgZXEgIm51bGwiKSB7
CiAgICAgICAgICAgICByZXR1cm4gJHVzZUF0b21pY1N0cmluZyA/ICJudWxsQXRvbSIgOiAiU3Ry
aW5nKCkiOwogICAgICAgICB9IGVsc2lmICgkZGVmYXVsdFZhbHVlIGVxICJcIlwiIikgewpAQCAt
MjczOSw2ICsyNzM5LDkgQEAgRU5ECiBzdWIgR2V0RnVuY3Rpb25MZW5ndGgKIHsKICAgICBteSAk
ZnVuY3Rpb24gPSBzaGlmdDsKKyAgICAKKyAgICAjIExlbmd0aCBvdmVycmlkZSBmb3IgcXVpcmtz
LgorICAgIHJldHVybiAkZnVuY3Rpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0xlbmd0aH0gaWYg
ZGVmaW5lZCAkZnVuY3Rpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0xlbmd0aH07CiAKICAgICBt
eSAkZ2V0T3ZlcmxvYWRMZW5ndGggPSBzdWIgewogICAgICAgICBteSAkZnVuY3Rpb24gPSBzaGlm
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmli
dXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMu
dHh0CmluZGV4IDUzNTRiMTE3Y2QwMWM5ZGRlYWQ2N2NlMjVkM2MwYTgwOTk3NzFkYjMuLjE0OWQ4
ZjQyMzk3NmY3NGQ1Mzk1OTU4MWE4OTk4MDVmMTM5ZTAwNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtOTEsNiArOTEsNyBA
QCBKU0dlbmVyYXRlVG9KU09iamVjdAogSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0CiBKU0xlZ2Fj
eVBhcmVudD0qCiBMZWdhY3lVbmVudW1lcmFibGVOYW1lZFByb3BlcnRpZXMKK0xlbmd0aD0qCiBM
ZW5pZW50VGhpcwogTWFzcXVlcmFkZXNBc1VuZGVmaW5lZAogTWF5VGhyb3dFeGNlcHRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGE2OTk1OGMyMzI4NDJkZTgwZGJhZDNlZDJiN2Q2YTBi
OTViMTgxODUuLjViZjY3YThmNmU5MGMyYzRhMmYyZjI3Y2VlMGQ4ZTQ2ZmM0YmMwMTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjk3MCw0ICs2OTcwLDE0IEBAIHZvaWQgRG9jdW1lbnQ6
OmRpZFJlbW92ZUluRG9jdW1lbnRTaGFkb3dSb290KFNoYWRvd1Jvb3QmIHNoYWRvd1Jvb3QpCiAg
ICAgbV9pbkRvY3VtZW50U2hhZG93Um9vdHMucmVtb3ZlKCZzaGFkb3dSb290KTsKIH0KIAorRXhj
ZXB0aW9uT3I8RWxlbWVudCo+IERvY3VtZW50OjpnZXRFbGVtZW50QnlJZFF1aXJrKCkKK3sKKyAg
ICAvLyBRdWlyayBmb3IgVHJpbGxpYW4gKHJkYXI6Ly9wcm9ibGVtLzMwMjczNjg0KS4KKyAgICBp
ZiAoc2V0dGluZ3MoKSAmJiBzZXR0aW5ncygpLT5hbGxvd0dldEVsZW1lbnRCeUlkV2l0aG91dFBh
cmFtZXRlcigpKSB7CisgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIEFTQ0lJTGl0ZXJhbCgiQ2FsbGluZyBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgpIHdpdGhvdXQgcGFyYW1ldGVyIGlzIGRlcHJlY2F0ZWQuIikpOworICAg
ICAgICByZXR1cm4gZ2V0RWxlbWVudEJ5SWQoU3RyaW5nKEFTQ0lJTGl0ZXJhbCgidW5kZWZpbmVk
IikpKTsKKyAgICB9CisgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRl
cmFsKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpIH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNGNiNzVhYzVhNzVjOTlmNzIxZmQ5N2YwZjM0MDhk
NWNmNjM2N2U2OC4uZWVlYWViNWEzYzIyNWFjZmY2NTNiMTk4MjUyOWY1ZDRhNWM1Zjc5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTMzOSw2ICszMzksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBy
ZW1vdmVJbWFnZUVsZW1lbnRCeVVzZW1hcChjb25zdCBBdG9taWNTdHJpbmdJbXBsJiwgSFRNTElt
YWdlRWxlbWVudCYpOwogICAgIEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudEJ5VXNlbWFw
KGNvbnN0IEF0b21pY1N0cmluZ0ltcGwmKSBjb25zdDsKIAorICAgIEV4Y2VwdGlvbk9yPEVsZW1l
bnQqPiBnZXRFbGVtZW50QnlJZFF1aXJrKCk7CisKICAgICBFeGNlcHRpb25PcjxTZWxlY3RvclF1
ZXJ5Jj4gc2VsZWN0b3JRdWVyeUZvclN0cmluZyhjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGNs
ZWFyU2VsZWN0b3JRdWVyeUNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudEZyYWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdt
ZW50LmNwcAppbmRleCA1YzkzNTFkM2VlOTY1NjFhNjEwOTVlYWQ3NmRjODY4YzQ4MDM2YTUyLi41
ZjBjODQ5NTkyZTY4NmQ1ZTIzZTFiNmRhODliYWNlMDZlNDdkODA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50RnJhZ21lbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnREZXNjZW5kYW50SXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFRNTERvY3VtZW50UGFyc2VyLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiCkBAIC05MCw2
ICs5MSwxMSBAQCBib29sIERvY3VtZW50RnJhZ21lbnQ6OnBhcnNlWE1MKGNvbnN0IFN0cmluZyYg
c291cmNlLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgUAogICAgIHJldHVybiBYTUxEb2N1bWVu
dFBhcnNlcjo6cGFyc2VEb2N1bWVudEZyYWdtZW50KHNvdXJjZSwgKnRoaXMsIGNvbnRleHRFbGVt
ZW50LCBwYXJzZXJDb250ZW50UG9saWN5KTsKIH0KIAorRXhjZXB0aW9uT3I8RWxlbWVudCo+IERv
Y3VtZW50RnJhZ21lbnQ6OmdldEVsZW1lbnRCeUlkUXVpcmsoKSBjb25zdAoreworICAgIHJldHVy
biBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGVub3VnaCBhcmd1bWVu
dHMiKSB9OworfQorCiBFbGVtZW50KiBEb2N1bWVudEZyYWdtZW50OjpnZXRFbGVtZW50QnlJZChj
b25zdCBBdG9taWNTdHJpbmcmIGlkKSBjb25zdAogewogICAgIGlmIChpZC5pc051bGwoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5oCmluZGV4IDlkMDBjNmM1MDc1OTc5ZjdlMmVm
YzdjNDNiYWM2NWZlNzdlZGJjODMuLjNiNDhmMmU4YTg1N2NhZDFjMjkzNzYxOGIzNGE0OTViOGIx
ZDg3NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21lbnQuaApAQCAtNDAsNiArNDAs
NyBAQCBwdWJsaWM6CiAKICAgICAvLyBGcm9tIHRoZSBOb25FbGVtZW50UGFyZW50Tm9kZSBpbnRl
cmZhY2UgLSBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1ub25lbGVtZW50
cGFyZW50bm9kZQogICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIGdldEVsZW1lbnRCeUlkKGNv
bnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworICAgIEV4Y2VwdGlvbk9yPEVsZW1lbnQqPiBnZXRF
bGVtZW50QnlJZFF1aXJrKCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBEb2N1bWVudEZyYWdt
ZW50KERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSA9IENyZWF0ZUNvbnRhaW5lcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9uRWxlbWVudFBhcmVudE5vZGUuaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vbkVsZW1lbnRQYXJlbnROb2RlLmlkbAppbmRleCA5MjIzODcwM2Yy
YWQ3M2ZmNzQ4OGE0NTUzNjU3YTNiNzAyZTE5MGJjLi40MWQzNTljZjM1ODYyZDQ0YzQwNGY4N2Nm
YjMwNjk5ZmEzNjdkODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9uRWxlbWVu
dFBhcmVudE5vZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVtZW50UGFyZW50
Tm9kZS5pZGwKQEAgLTI4LDUgKzI4LDYgQEAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0g
aW50ZXJmYWNlIE5vbkVsZW1lbnRQYXJlbnROb2RlIHsKLSAgICBbRE9NSklUPVJlYWRET01dIEVs
ZW1lbnQ/IGdldEVsZW1lbnRCeUlkKFtSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nXSBET01T
dHJpbmcgZWxlbWVudElkKTsKKyAgICBbTGVuZ3RoPTFdIEVsZW1lbnQ/IGdldEVsZW1lbnRCeUlk
KFtSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nXSBET01TdHJpbmcgZWxlbWVudElkKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Z2V0RWxlbWVudEJ5SWRRdWlyaywg
TGVuZ3RoPTFdIEVsZW1lbnQ/IGdldEVsZW1lbnRCeUlkKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaW4KaW5kZXggNzcwMDg4ZWRhNDczYjI4N2VlZDBkYmEwNzhiMGFhYzBlMjM4ZGFhOC4uMjJi
ZmQyNjBkMDg5YmYyMjc0MWVmMTMyY2UwMGU5MDgyMjBmZDQzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmluCkBAIC0xMjUsNiArMTI1LDcgQEAgc2hvdWxkSW5qZWN0VXNlclNjcmlwdHNJbkluaXRp
YWxFbXB0eURvY3VtZW50IGluaXRpYWw9ZmFsc2UKIGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2
ZVRvRnJhbWUgaW5pdGlhbD1mYWxzZQogYWxsb3dEaXNwbGF5T2ZJbnNlY3VyZUNvbnRlbnQgaW5p
dGlhbD1mYWxzZQogYWxsb3dSdW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQgaW5pdGlhbD1mYWxzZQor
YWxsb3dHZXRFbGVtZW50QnlJZFdpdGhvdXRQYXJhbWV0ZXIgaW5pdGlhbD1mYWxzZQogcmVxdWly
ZXNVc2VyR2VzdHVyZVRvTG9hZFZpZGVvIGluaXRpYWw9ZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1
cmVUb0xvYWRWaWRlbwogdmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUgaW5pdGlhbD1k
ZWZhdWx0VmlkZW9QbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUKIGF1ZGlvUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlIGluaXRpYWw9ZGVmYXVsdEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJH
ZXN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oCmluZGV4IGJkYWFkYzM1NmI5MTdiMzQyN2Q4ZjA4NGUwOTQwNGRlN2UxZjNkODYu
LjY5MDNiOWRlZDQwMWFlMWQ4ZTNiZDdjOWY2NjU5ODI3MzIzYmQzNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBAIC01Myw2
ICs1Myw3IEBAIGJvb2wgaXNTb2xpZFN0YXRlTmV0d29ya3NEb3dubG9hZGVyKCk7CiBXRUJDT1JF
X0VYUE9SVCBib29sIGlzVmVyc2lvbnMoKTsKIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNIUkJsb2Nr
KCk7CiBXRUJDT1JFX0VYUE9SVCBib29sIGlzQXBwU3RvcmUoKTsKK1dFQkNPUkVfRVhQT1JUIGJv
b2wgaXNUcmlsbGlhbigpOwogCiB9IC8vIE1hY0FwcGxpY2F0aW9uCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5tbQppbmRleCAzNTIx
NzBhYTFhZjliODM0Zjk0MzdkNmQwZjk3MzQyYjAxODIwYTBiLi42ZDI0NDYyYmZmZGM1ODc0YWJm
ZmNmOGFkZGIzZWJjMjgzZmVkN2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLm1tCkBAIC0xNjAsNiArMTYwLDEyIEBAIGJvb2wg
TWFjQXBwbGljYXRpb246OmlzQXBwU3RvcmUoKQogICAgIHJldHVybiBpc0FwcFN0b3JlOwogfQog
Citib29sIE1hY0FwcGxpY2F0aW9uOjppc1RyaWxsaWFuKCkKK3sKKyAgICBzdGF0aWMgYm9vbCBp
c1RyaWxsaWFuID0gYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oImNvbS5jZXJ1bGVhbnN0dWRp
b3MudHJpbGxpYW4ub3N4Iik7CisgICAgcmV0dXJuIGlzVHJpbGxpYW47Cit9CisKICNlbmRpZiAv
LyBQTEFURk9STShNQUMpCiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJLaXQvbWFj
L01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCmluZGV4IGFiYmE0YjQ2MjE1MGQwYTI5NDRkMGQ3
YWFjZjMyMTA2Mzc4NDU0YzAuLjAyYjc1NjM0ZWY0MDk2ZjkyYjg3Zjk4MWNkNDk2ZmY3NDY0MTg2
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNr
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCkBA
IC01OSw2ICs1OSw3IEBACiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FU
VFJJQlVURV9TRVRURVJTX0lHTk9SSU5HX1BSSU9SSVRZIDB4MDIxNzBEMDAgLy8gNTM1LjEzLjAK
ICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9MRUdBQ1lfQkFDS0dST1VORFNJ
WkVfU0hPUlRIQU5EX0JFSEFWSU9SIDB4MDIxOTAxMDAgLy8gNTM3LjEuMAogI2RlZmluZSBXRUJL
SVRfRklSU1RfVkVSU0lPTl9XSVRIX0lOU0VDVVJFX0NPTlRFTlRfQkxPQ0tJTkcgMHgwMjU5MDEx
NiAvLyA2MDEuMS4yMgorI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX01BTkRBVE9S
WV9HRVRFTEVNRU5UQllJRF9QQVJBTUVURVIgMHgwMjVDMDAwMCAvLyA2MDQuMC4wCiAjZWxzZQog
Ly8gPHJkYXI6Ly9wcm9ibGVtLzY2Mjc3NTg+IE5lZWQgdG8gaW1wbGVtZW50IFdlYktpdExpbmtl
ZE9uT3JBZnRlcgogLy8gQWN0dWFsbHkgVUlLaXQgdmVyc2lvbiBudW1iZXJzLCBzaW5jZSBhcHBs
aWNhdGlvbnMgZG9uJ3QgbGluayBhZ2FpbnN0IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IGYwZTA2MTVhMTU5NDAyOGRjOGExYWNmYzVlZjIzNGVlNTk2M2E3M2Mu
LjU1MmVjMDU2NDEwODg2MTcyYzJiMWEzMGU5YzljYjU3NzVlZWFkZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTExODUsNiArMTE4NSwxMiBAQCBzdGF0aWMgYm9vbCBz
aG91bGRBbGxvd0Rpc3BsYXlBbmRSdW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQoKQogICAgIHJldHVy
biBzaG91bGRBbGxvd0Rpc3BsYXlBbmRSdW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQ7CiB9CiAKK3N0
YXRpYyBib29sIHNob3VsZEFsbG93R2V0RWxlbWVudEJ5SWRXaXRob3V0UGFyYW1ldGVyKCkKK3sK
KyAgICBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd0dldEVsZW1lbnRCeUlkV2l0aG91dFBhcmFtZXRl
ciA9IE1hY0FwcGxpY2F0aW9uOjppc1RyaWxsaWFuKCkgJiYgIVdlYktpdExpbmtlZE9uT3JBZnRl
cihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX01BTkRBVE9SWV9HRVRFTEVNRU5UQllJRF9QQVJB
TUVURVIpOworICAgIHJldHVybiBzaG91bGRBbGxvd0dldEVsZW1lbnRCeUlkV2l0aG91dFBhcmFt
ZXRlcjsKK30KKwogc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjaygpCiB7CiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjc0Miw2ICsyNzQ4LDcgQEAgLSAo
dm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzCiAK
ICAgICBzZXR0aW5ncy5zZXRBbGxvd0Rpc3BsYXlPZkluc2VjdXJlQ29udGVudChzaG91bGRBbGxv
d0Rpc3BsYXlBbmRSdW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQoKSk7CiAgICAgc2V0dGluZ3Muc2V0
QWxsb3dSdW5uaW5nT2ZJbnNlY3VyZUNvbnRlbnQoc2hvdWxkQWxsb3dEaXNwbGF5QW5kUnVubmlu
Z09mSW5zZWN1cmVDb250ZW50KCkpOworICAgIHNldHRpbmdzLnNldEFsbG93R2V0RWxlbWVudEJ5
SWRXaXRob3V0UGFyYW1ldGVyKHNob3VsZEFsbG93R2V0RWxlbWVudEJ5SWRXaXRob3V0UGFyYW1l
dGVyKCkpOwogCiAgICAgc2V0dGluZ3Muc2V0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21h
dGljYWxseShbcHJlZmVyZW5jZXMgamF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxs
eV0gfHwgc2hvdWxkQWxsb3dXaW5kb3dPcGVuV2l0aG91dFVzZXJHZXN0dXJlKCkpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>