<?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>145094</bug_id>
          
          <creation_ts>2015-05-15 22:48:44 -0700</creation_ts>
          <short_desc>Add getElementById to DocumentFragment</short_desc>
          <delta_ts>2015-05-16 11:50:03 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1095401</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-15 22:48:44 -0700</bug_when>
    <thetext>Add getElementById to DocumentFragment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095404</commentid>
    <comment_count>1</comment_count>
      <attachid>253266</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-15 22:55:14 -0700</bug_when>
    <thetext>Created attachment 253266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095425</commentid>
    <comment_count>2</comment_count>
      <attachid>253270</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-16 09:42:56 -0700</bug_when>
    <thetext>Created attachment 253270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095428</commentid>
    <comment_count>3</comment_count>
      <attachid>253270</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-16 11:14:02 -0700</bug_when>
    <thetext>Comment on attachment 253270
Patch

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

&gt; Source/WebCore/dom/DocumentFragment.cpp:97
&gt; +    // Add fast path for ShadowRoot, where we are both a DocumentFragment and a TreeScope.

S/Add// ?

&gt; Source/WebCore/dom/DocumentFragment.cpp:101
&gt; +    // Otherwise, fallback to iterating all of the element descendants.

&quot;Fall back&quot; should be with a space here I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095429</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-16 11:18:02 -0700</bug_when>
    <thetext>Committed revision 184435.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095431</commentid>
    <comment_count>5</comment_count>
      <attachid>253270</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-16 11:50:03 -0700</bug_when>
    <thetext>Comment on attachment 253270
Patch

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

&gt; Source/WebCore/dom/NonElementParentNode.idl:31
&gt; +    Element getElementById([Default=Undefined,ObjCExplicitAtomicString,RequiresExistingAtomicString] optional DOMString elementId);

Spaces after commas please.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253266</attachid>
            <date>2015-05-15 22:55:14 -0700</date>
            <delta_ts>2015-05-16 09:42:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145094-20150515225349.patch</filename>
            <type>text/plain</type>
            <size>15627</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDQzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE1LTA1LTE1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGdldEVsZW1lbnRCeUlkIHRvIERv
Y3VtZW50RnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NTA5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1hdGNoIHRoZSBsYXRlc3QgRE9NIHN0YW5kYXJkIGFuZCBvdGhlciBicm93c2VycyBi
eSBhZGRpbmcgZ2V0RWxlbWVudEJ5SWQKKyAgICAgICAgdG8gRG9jdW1lbnRGcmFnbWVudCBpbiBh
ZGRpdGlvbiB0byBEb2N1bWVudCBhbmQgU1ZHU1ZHRWxlbWVudC4gQWRkIE5vbkVsZW1lbnRQYXJl
bnROb2RlCisgICAgICAgIGludGVyZmFjZSB0aGF0IHRoZSBET00gc3RhbmRhcmQgZGVmaW5lcy4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudEZyYWdtZW50L2dldEVsZW1lbnRCeUlk
Lmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgTm9uRWxlbWVudFBhcmVu
dE5vZGUuaWRsCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICBNYXJrIERv
Y3VtZW50IGFzIGltcGxlbWVudGluZyBOb25FbGVtZW50UGFyZW50Tm9kZSBhbmQgcmVtb3ZlIG5v
dyByZWR1bmRhbnQgZ2V0RWxlbWVudEJ5SWQKKyAgICAgICAgZGVjbGFyYXRpb24uCisKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnRGcmFnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dEZyYWdtZW50OjpnZXRFbGVtZW50QnlJZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50RnJhZ21l
bnQuaDoKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9uIG9mIGdldEVsZW1lbnRCeUlkIGZvciBE
b2N1bWVudEZyYWdtZW50cy4gQWRkIGEgZmFzdCBwYXRoIGZvciBTaGFkb3dSb290cworICAgICAg
ICB3aGljaCBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhhdCB0aGV5IGFyZSBUcmVl
U2NvcGVzIHRvIHVzZSB0aGUgZWxlbWVudHMgYnkgaWQgY2FjaGUKKyAgICAgICAgaW4gVHJlZVNj
cm9wZS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbDoKKyAgICAgICAgTWFy
ayBEb2N1bWVudEZyYWdtZW50IGFzIGltcGxlbWVudGluZyBOb25FbGVtZW50UGFyZW50Tm9kZS4K
KworICAgICAgICAqIGRvbS9Ob25FbGVtZW50UGFyZW50Tm9kZS5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2RvbS9Ob25Eb2N1bWVudFR5cGVDaGlsZE5vZGUuaWRsLgorICAgICAgICBB
ZGRlZC4KKworICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1NWR0VsZW1lbnQ6OmdldEVsZW1lbnRCeUlkKToKKyAgICAgICAgKiBzdmcvU1ZHU1ZH
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmlkbDoKKyAgICAgICAgQ29u
dmVydCB0byB0YWtpbmcgYW4gQXRvbWljU3RyaW5nIHRvIG1hdGNoIG90aGVyIGdldEVsZW1lbnRC
eUlkcy4KKwogMjAxNS0wNS0xNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTgzMzAwKTogQmFja2dyb3VuZCBtaXNzaW5nIG9u
IHRvcCBsaW5rcyBvbiBhcHBsZS5jb20KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkocmV2aXNpb24gMTg0NDMwKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSw3IEBAIE5PTl9TVkdfQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvZG9tL05vZGVGaWx0ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9Ob2RlSXRlcmF0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Ob2RlTGlzdC5pZGwg
XAorICAgICQoV2ViQ29yZSkvZG9tL05vbkVsZW1lbnRQYXJlbnROb2RlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9kb20vTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vT3ZlcmZsb3dFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL1BhZ2VUcmFuc2l0
aW9uRXZlbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE4NDQzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtOTgx
OCw2ICs5ODE4LDcgQEAKIAkJN0M2MTM2RjcxNzEwQzM1MjAwRkY0QTU3IC8qIEluRmlsZXNDb21w
aWxlci5wbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBJbkZpbGVzQ29tcGlsZXIucG07IHBhdGggPSBzY3Jp
cHRzL0luRmlsZXNDb21waWxlci5wbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M2
MTM2RjgxNzEwQzM1MjAwRkY0QTU3IC8qIEluRmlsZXNQYXJzZXIucG0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1l
ID0gSW5GaWxlc1BhcnNlci5wbTsgcGF0aCA9IHNjcmlwdHMvSW5GaWxlc1BhcnNlci5wbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M2MTM2RjkxNzEwQzM1MjAwRkY0QTU3IC8qIFN0
YXRpY1N0cmluZy5wbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBTdGF0aWNTdHJpbmcucG07IHBhdGggPSBz
Y3JpcHRzL1N0YXRpY1N0cmluZy5wbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M2
NzUyQkExQjA2RTgyMDAwQzI3OUNCIC8qIE5vbkVsZW1lbnRQYXJlbnROb2RlLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBOb25FbGVtZW50UGFyZW50Tm9kZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDNzNGQjA1MTkxRUY0MTYwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhh
bmRsZXJzTmFtZXNwYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QzczRkIwNjE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05h
bWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVc2VyTWVzc2FnZUhh
bmRsZXJzTmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNzNGQjA5
MTkxRUY0OUYwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIzMTcxLDYgKzIzMTcyLDcgQEAKIAkJCQlFNDMxMDVCQTE2NzUwRjE2MDBEQjJG
QjggLyogTm9kZVRyYXZlcnNhbC5oICovLAogCQkJCTkzODJBQUIxMEQ4QzM4NjEwMEYzNTdBNiAv
KiBOb2RlV2l0aEluZGV4LmggKi8sCiAJCQkJODM2OUU1OEYxQUZERDAzMDAwODdERjY4IC8qIE5v
bkRvY3VtZW50VHlwZUNoaWxkTm9kZS5pZGwgKi8sCisJCQkJN0M2NzUyQkExQjA2RTgyMDAwQzI3
OUNCIC8qIE5vbkVsZW1lbnRQYXJlbnROb2RlLmlkbCAqLywKIAkJCQkxQTBENTczNDBBNUM3N0ZF
MDA3RURENEMgLyogT3ZlcmZsb3dFdmVudC5jcHAgKi8sCiAJCQkJMUEwRDU3MzUwQTVDNzdGRTAw
N0VERDRDIC8qIE92ZXJmbG93RXZlbnQuaCAqLywKIAkJCQkxQTBENTczODBBNUM3ODEyMDA3RURE
NEMgLyogT3ZlcmZsb3dFdmVudC5pZGwgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJ
KHJldmlzaW9uIDE4NDQzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RyZWF0TnVs
bEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFs
aWZpZWROYW1lKTsKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBOb2RlTGlzdCBn
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlk
KFtEZWZhdWx0PVVuZGVmaW5lZCxPYmpDRXhwbGljaXRBdG9taWNTdHJpbmcsUmVxdWlyZXNFeGlz
dGluZ0F0b21pY1N0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIGVsZW1lbnRJZCk7CiAKICAgICAv
LyBET00gTGV2ZWwgMyBDb3JlCiAKQEAgLTM0MywzICszNDIsNCBAQAogfTsKIAogRG9jdW1lbnQg
aW1wbGVtZW50cyBQYXJlbnROb2RlOworRG9jdW1lbnQgaW1wbGVtZW50cyBOb25FbGVtZW50UGFy
ZW50Tm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5jcHAJKHJl
dmlzaW9uIDE4NDQzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50RnJh
Z21lbnQuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudERlc2Nl
bmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtOTEsNCArOTIsMTkgQEAgYm9v
bCBEb2N1bWVudEZyYWdtZW50OjpwYXJzZVhNTChjb25zdCBTdAogICAgIHJldHVybiBYTUxEb2N1
bWVudFBhcnNlcjo6cGFyc2VEb2N1bWVudEZyYWdtZW50KHNvdXJjZSwgKnRoaXMsIGNvbnRleHRF
bGVtZW50LCBwYXJzZXJDb250ZW50UG9saWN5KTsKIH0KIAorRWxlbWVudCogRG9jdW1lbnRGcmFn
bWVudDo6Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29uc3QKK3sKKyAg
ICAvLyBBZGQgZmFzdCBwYXRoIGZvciBTaGFkb3dSb290LCB3aGVyZSB3ZSBhcmUgYm90aCBhIERv
Y3VtZW50RnJhZ21lbnQgYW5kIGEgVHJlZVNjb3BlLgorICAgIGlmIChpc1RyZWVTY29wZSgpKQor
ICAgICAgICByZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOworCisgICAgLy8g
T3RoZXJ3aXNlLCBmYWxsYmFjayB0byBpdGVyYXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50IGRlc2Nl
bmRhbnRzLgorICAgIGZvciAoYXV0byYgZWxlbWVudCA6IGVsZW1lbnREZXNjZW5kYW50cygqdGhp
cykpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBpZCkKKyAgICAg
ICAgICAgIHJldHVybiBjb25zdF9jYXN0PEVsZW1lbnQqPigmZWxlbWVudCk7CisgICAgfQorCisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudEZyYWdtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RnJhZ21lbnQuaAkocmV2aXNpb24gMTg0NDMwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50RnJhZ21lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1RlbXBsYXRlQ29udGVu
dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICAvLyBGcm9tIHRoZSBOb25FbGVtZW50
UGFyZW50Tm9kZSBpbnRlcmZhY2UgLSBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVy
ZmFjZS1ub25lbGVtZW50cGFyZW50bm9kZQorICAgIEVsZW1lbnQqIGdldEVsZW1lbnRCeUlkKGNv
bnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnRGcmFn
bWVudChEb2N1bWVudCYsIENvbnN0cnVjdGlvblR5cGUgPSBDcmVhdGVDb250YWluZXIpOwogICAg
IHZpcnR1YWwgU3RyaW5nIG5vZGVOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsCShyZXZpc2lvbiAxODQ0MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTE3LDEwICsxNywxMSBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8K
IAotIFsKK1sKICAgICBDb25zdHJ1Y3RvciwKICAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPURvY3Vt
ZW50Ci0gXSBpbnRlcmZhY2UgRG9jdW1lbnRGcmFnbWVudCA6IE5vZGUgeworXSBpbnRlcmZhY2Ug
RG9jdW1lbnRGcmFnbWVudCA6IE5vZGUgewogfTsKIAogRG9jdW1lbnRGcmFnbWVudCBpbXBsZW1l
bnRzIFBhcmVudE5vZGU7CitEb2N1bWVudEZyYWdtZW50IGltcGxlbWVudHMgTm9uRWxlbWVudFBh
cmVudE5vZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9uRWxlbWVudFBhcmVudE5vZGUu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVtZW50UGFyZW50Tm9k
ZS5pZGwJKHJldmlzaW9uIDE4NDQxOSkJKGZyb20gU291cmNlL1dlYkNvcmUvZG9tL05vbkRvY3Vt
ZW50VHlwZUNoaWxkTm9kZS5pZGw6MTg0NDE5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vbkVs
ZW1lbnRQYXJlbnROb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKy8vIGh0dHBzOi8v
ZG9tLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLW5vbmRvY3VtZW50dHlwZWNoaWxkbm9kZQor
WworICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgTm9uRG9jdW1lbnRUeXBlQ2hp
bGROb2RlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCBwcmV2aW91c0VsZW1lbnRT
aWJsaW5nOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IG5leHRFbGVtZW50U2libGlu
ZzsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9uRWxlbWVudFBhcmVudE5vZGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVtZW50UGFyZW50Tm9kZS5p
ZGwJKHdvcmtpbmcgY29weSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVtZW50UGFyZW50
Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDEwICsyNCw5IEBACiAgKgogICovCiAKLS8v
IGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLW5vbmRvY3VtZW50dHlwZWNo
aWxkbm9kZQorLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2Utbm9uZWxl
bWVudHBhcmVudG5vZGUKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKLV0gaW50ZXJmYWNlIE5v
bkRvY3VtZW50VHlwZUNoaWxkTm9kZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQg
cHJldmlvdXNFbGVtZW50U2libGluZzsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCBu
ZXh0RWxlbWVudFNpYmxpbmc7CitdIGludGVyZmFjZSBOb25FbGVtZW50UGFyZW50Tm9kZSB7Cisg
ICAgRWxlbWVudCBnZXRFbGVtZW50QnlJZChbRGVmYXVsdD1VbmRlZmluZWQsT2JqQ0V4cGxpY2l0
QXRvbWljU3RyaW5nLFJlcXVpcmVzRXhpc3RpbmdBdG9taWNTdHJpbmddIG9wdGlvbmFsIERPTVN0
cmluZyBlbGVtZW50SWQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE4NDQzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcwLDcgKzY3MCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVu
dDo6ZG9jdW1lbnREaWRSZXN1bWVGcm8KIAogLy8gZ2V0RWxlbWVudEJ5SWQgb24gU1ZHU1ZHRWxl
bWVudCBpcyByZXN0cmljdGVkIHRvIG9ubHkgdGhlIGNoaWxkIHN1YnRyZWUgZGVmaW5lZCBieSB0
aGUgPHN2Zz4gZWxlbWVudC4KIC8vIFNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9zdHJ1
Y3QuaHRtbCNJbnRlcmZhY2VTVkdTVkdFbGVtZW50Ci1FbGVtZW50KiBTVkdTVkdFbGVtZW50Ojpn
ZXRFbGVtZW50QnlJZChjb25zdCBTdHJpbmcmIGlkKQorRWxlbWVudCogU1ZHU1ZHRWxlbWVudDo6
Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkKIHsKICAgICBFbGVtZW50KiBl
bGVtZW50ID0gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgIGlmIChlbGVtZW50
ICYmIGVsZW1lbnQtPmlzRGVzY2VuZGFudE9mKHRoaXMpKQpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1NWR0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U1ZHRWxlbWVudC5oCShyZXZpc2lvbiAxODQ0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U1ZHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzogLy8g
RE9NCiAgICAgc3RhdGljIFNWR1RyYW5zZm9ybSBjcmVhdGVTVkdUcmFuc2Zvcm0oKTsKICAgICBz
dGF0aWMgU1ZHVHJhbnNmb3JtIGNyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgoY29uc3QgU1ZH
TWF0cml4Jik7CiAKLSAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZChjb25zdCBTdHJpbmcmKTsK
KyAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZChjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogICAg
IFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdDsKICAgICB2b2lkIHNldFpvb21B
bmRQYW4odW5zaWduZWQgc2hvcnQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmlkbAkocmV2aXNpb24gMTg0NDMwKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw4IEBAIGludGVyZmFjZSBTVkdTVkdF
bGVtZW50IDogU1ZHR3JhcGhpY3NFbGUKICAgICBTVkdSZWN0IGNyZWF0ZVNWR1JlY3QoKTsKICAg
ICBTVkdUcmFuc2Zvcm0gY3JlYXRlU1ZHVHJhbnNmb3JtKCk7CiAgICAgU1ZHVHJhbnNmb3JtIGNy
ZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBT
VkdNYXRyaXggbWF0cml4KTsKLSAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlkKFtEZWZhdWx0PVVu
ZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGVsZW1lbnRJZCk7CisKKyAgICBFbGVtZW50IGdl
dEVsZW1lbnRCeUlkKFtEZWZhdWx0PVVuZGVmaW5lZCwgUmVxdWlyZXNFeGlzdGluZ0F0b21pY1N0
cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIGVsZW1lbnRJZCk7CiB9OwogCiBTVkdTVkdFbGVtZW50
IGltcGxlbWVudHMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE4NDQzMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDE1LTA1LTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIGdldEVsZW1lbnRCeUlkIHRvIERvY3VtZW50RnJhZ21lbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTA5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vRG9jdW1l
bnRGcmFnbWVudC9nZXRFbGVtZW50QnlJZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVudEJ5SWQuaHRtbDogQWRkZWQuCisK
IDIwMTUtMDUtMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTiAocjE4MzMwMCk6IEJhY2tncm91bmQgbWlzc2luZyBvbiB0b3AgbGlu
a3Mgb24gYXBwbGUuY29tCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudEZyYWdt
ZW50L2dldEVsZW1lbnRCeUlkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9Eb2N1bWVudEZyYWdtZW50L2dldEVsZW1lbnRCeUlkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0
RWxlbWVudEJ5SWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAK
K1Rlc3RzIHRoYXQgZ2V0RWxlbWVudEJ5SWQoKSBBUEkgaXMgZXhwb3NlZCBvbiBEb2N1bWVudEZy
YWdtZW50IG5vZGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBmcmFn
bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2SUQnKSBpcyBkaXYKK1BBU1MgZnJhZ21lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2FJRCcpIGlzIGEKK1BBU1MgZnJhZ21lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vdElu
RnJhZ21lbnQnKSBpcyBudWxsCitQQVNTIGZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdkb2VzTm90
RXhpc3QnKSBpcyBudWxsCitQQVNTIGZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdkdXBsaWNhdGVJ
ZDEnKSBpcyBzcGFuCitQQVNTIGZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdkdXBsaWNhdGVJZDIn
KSBpcyBoMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVu
dEJ5SWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudEZy
YWdtZW50L2dldEVsZW1lbnRCeUlkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9Eb2N1bWVudEZyYWdtZW50L2dldEVsZW1lbnRCeUlkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9Im5vdEluRnJh
Z21lbnQiPjwvZGl2PgorPGRpdiBpZD0iZHVwbGljYXRlSWQxIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGdldEVsZW1lbnRCeUlkKCkgQVBJIGlzIGV4cG9zZWQg
b24gRG9jdW1lbnRGcmFnbWVudCBub2Rlcy4iKTsKKwordmFyIGZyYWdtZW50ID0gbmV3IERvY3Vt
ZW50RnJhZ21lbnQoKTsKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
K2Rpdi5pZCA9ICJkaXZJRCI7CitmcmFnbWVudC5hcHBlbmRDaGlsZChkaXYpOwordmFyIGEgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CithLmlkID0gImFJRCI7CitkaXYuYXBwZW5kQ2hp
bGQoYSk7Cit2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKK3NwYW4u
aWQgPSAiZHVwbGljYXRlSWQxIjsKK2Rpdi5hcHBlbmRDaGlsZChzcGFuKTsKK3ZhciBoMSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImgxIik7CitoMS5pZCA9ICJkdXBsaWNhdGVJZDIiOworZGl2
LmFwcGVuZENoaWxkKGgxKTsKK3ZhciBoMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgyIik7
CitoMi5pZCA9ICJkdXBsaWNhdGVJZDIiOworZGl2LmFwcGVuZENoaWxkKGgyKTsKKworc2hvdWxk
QmUoImZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdkaXZJRCcpIiwgImRpdiIpOworc2hvdWxkQmUo
ImZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdhSUQnKSIsICJhIik7CitzaG91bGRCZU51bGwoImZy
YWdtZW50LmdldEVsZW1lbnRCeUlkKCdub3RJbkZyYWdtZW50JykiKTsKK3Nob3VsZEJlTnVsbCgi
ZnJhZ21lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvZXNOb3RFeGlzdCcpIik7CisKKy8vIER1cGxpY2F0
ZSBJRCBjYXNlcy4KK3Nob3VsZEJlKCJmcmFnbWVudC5nZXRFbGVtZW50QnlJZCgnZHVwbGljYXRl
SWQxJykiLCAic3BhbiIpOyAvLyBTaG91bGQgcmV0dXJuIHRoZSBFbGVtZW50ICppbnNpZGUqIHRo
ZSBEb2N1bWVudEZyYWdtZW50Lgorc2hvdWxkQmUoImZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdk
dXBsaWNhdGVJZDInKSIsICJoMSIpOyAvLyBTaG91bGQgcmV0dXJuIHRoZSBmaXJzdCBtYXRjaGlu
ZyBFbGVtZW50IGluIGNhc2Ugb2YgZHVwbGljYXRlLgorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253270</attachid>
            <date>2015-05-16 09:42:56 -0700</date>
            <delta_ts>2015-05-16 11:14:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145094-20150516094131.patch</filename>
            <type>text/plain</type>
            <size>16097</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDQzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE1LTA1LTE1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGdldEVsZW1lbnRCeUlkIHRvIERv
Y3VtZW50RnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NTA5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1hdGNoIHRoZSBsYXRlc3QgRE9NIHN0YW5kYXJkIGFuZCBvdGhlciBicm93c2VycyBi
eSBhZGRpbmcgZ2V0RWxlbWVudEJ5SWQKKyAgICAgICAgdG8gRG9jdW1lbnRGcmFnbWVudCBpbiBh
ZGRpdGlvbiB0byBEb2N1bWVudCBhbmQgU1ZHU1ZHRWxlbWVudC4gQWRkIE5vbkVsZW1lbnRQYXJl
bnROb2RlCisgICAgICAgIGludGVyZmFjZSB0aGF0IHRoZSBET00gc3RhbmRhcmQgZGVmaW5lcy4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudEZyYWdtZW50L2dldEVsZW1lbnRCeUlk
Lmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgTm9uRWxlbWVudFBhcmVu
dE5vZGUuaWRsCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICBNYXJrIERv
Y3VtZW50IGFzIGltcGxlbWVudGluZyBOb25FbGVtZW50UGFyZW50Tm9kZSBhbmQgcmVtb3ZlIG5v
dyByZWR1bmRhbnQgZ2V0RWxlbWVudEJ5SWQKKyAgICAgICAgZGVjbGFyYXRpb24uCisKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnRGcmFnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dEZyYWdtZW50OjpnZXRFbGVtZW50QnlJZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50RnJhZ21l
bnQuaDoKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9uIG9mIGdldEVsZW1lbnRCeUlkIGZvciBE
b2N1bWVudEZyYWdtZW50cy4gQWRkIGEgZmFzdCBwYXRoIGZvciBTaGFkb3dSb290cworICAgICAg
ICB3aGljaCBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhhdCB0aGV5IGFyZSBUcmVl
U2NvcGVzIHRvIHVzZSB0aGUgZWxlbWVudHMgYnkgaWQgY2FjaGUKKyAgICAgICAgaW4gVHJlZVNj
cm9wZS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbDoKKyAgICAgICAgTWFy
ayBEb2N1bWVudEZyYWdtZW50IGFzIGltcGxlbWVudGluZyBOb25FbGVtZW50UGFyZW50Tm9kZS4K
KworICAgICAgICAqIGRvbS9Ob25FbGVtZW50UGFyZW50Tm9kZS5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2RvbS9Ob25Eb2N1bWVudFR5cGVDaGlsZE5vZGUuaWRsLgorICAgICAgICBB
ZGRlZC4KKworICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1NWR0VsZW1lbnQ6OmdldEVsZW1lbnRCeUlkKToKKyAgICAgICAgKiBzdmcvU1ZHU1ZH
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmlkbDoKKyAgICAgICAgQ29u
dmVydCB0byB0YWtpbmcgYW4gQXRvbWljU3RyaW5nIHRvIG1hdGNoIG90aGVyIGdldEVsZW1lbnRC
eUlkcy4KKwogMjAxNS0wNS0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgV2hlbiByZWRpcmVjdGluZyB0byBkYXRhIFVSTCB1c2UgSFRUUCByZXNwb25zZSBm
b3Igc2FtZSBvcmlnaW4gcG9saWN5IGNoZWNrcwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJl
dmlzaW9uIDE4NDQzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC00MTEsNiArNDExLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMK
ICAgICBkb20vTm9kZUZpbHRlci5pZGwKICAgICBkb20vTm9kZUl0ZXJhdG9yLmlkbAogICAgIGRv
bS9Ob2RlTGlzdC5pZGwKKyAgICBkb20vTm9uRWxlbWVudFBhcmVudE5vZGUuaWRsCiAgICAgZG9t
L05vbkRvY3VtZW50VHlwZUNoaWxkTm9kZS5pZGwKICAgICBkb20vT3ZlcmZsb3dFdmVudC5pZGwK
ICAgICBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkocmV2aXNpb24gMTg0NDM0KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSw3IEBAIE5PTl9TVkdfQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvZG9tL05vZGVGaWx0ZXIuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2RvbS9Ob2RlSXRlcmF0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Ob2Rl
TGlzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL05vbkVsZW1lbnRQYXJlbnROb2RlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9kb20vT3ZlcmZsb3dFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL1Bh
Z2VUcmFuc2l0aW9uRXZlbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE4NDQzNCkKKysrIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtOTgxOCw2ICs5ODE4LDcgQEAKIAkJN0M2MTM2RjcxNzEwQzM1MjAwRkY0QTU3IC8qIElu
RmlsZXNDb21waWxlci5wbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBJbkZpbGVzQ29tcGlsZXIucG07IHBh
dGggPSBzY3JpcHRzL0luRmlsZXNDb21waWxlci5wbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0M2MTM2RjgxNzEwQzM1MjAwRkY0QTU3IC8qIEluRmlsZXNQYXJzZXIucG0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5w
ZXJsOyBuYW1lID0gSW5GaWxlc1BhcnNlci5wbTsgcGF0aCA9IHNjcmlwdHMvSW5GaWxlc1BhcnNl
ci5wbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M2MTM2RjkxNzEwQzM1MjAwRkY0
QTU3IC8qIFN0YXRpY1N0cmluZy5wbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IG5hbWUgPSBTdGF0aWNTdHJpbmcucG07
IHBhdGggPSBzY3JpcHRzL1N0YXRpY1N0cmluZy5wbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0M2NzUyQkExQjA2RTgyMDAwQzI3OUNCIC8qIE5vbkVsZW1lbnRQYXJlbnROb2RlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOb25FbGVtZW50UGFyZW50Tm9kZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNzNGQjA1MTkxRUY0MTYwMDdERTA2MSAvKiBVc2Vy
TWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzczRkIwNjE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VI
YW5kbGVyc05hbWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVc2Vy
TWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDNzNGQjA5MTkxRUY0OUYwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMTcxLDYgKzIzMTcyLDcgQEAKIAkJCQlFNDMxMDVCQTE2NzUw
RjE2MDBEQjJGQjggLyogTm9kZVRyYXZlcnNhbC5oICovLAogCQkJCTkzODJBQUIxMEQ4QzM4NjEw
MEYzNTdBNiAvKiBOb2RlV2l0aEluZGV4LmggKi8sCiAJCQkJODM2OUU1OEYxQUZERDAzMDAwODdE
RjY4IC8qIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZS5pZGwgKi8sCisJCQkJN0M2NzUyQkExQjA2
RTgyMDAwQzI3OUNCIC8qIE5vbkVsZW1lbnRQYXJlbnROb2RlLmlkbCAqLywKIAkJCQkxQTBENTcz
NDBBNUM3N0ZFMDA3RURENEMgLyogT3ZlcmZsb3dFdmVudC5jcHAgKi8sCiAJCQkJMUEwRDU3MzUw
QTVDNzdGRTAwN0VERDRDIC8qIE92ZXJmbG93RXZlbnQuaCAqLywKIAkJCQkxQTBENTczODBBNUM3
ODEyMDA3RURENEMgLyogT3ZlcmZsb3dFdmVudC5pZGwgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5pZGwJKHJldmlzaW9uIDE4NDQzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDYgQEAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyBxdWFsaWZpZWROYW1lKTsKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBO
b2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICBFbGVtZW50IGdldEVs
ZW1lbnRCeUlkKFtEZWZhdWx0PVVuZGVmaW5lZCxPYmpDRXhwbGljaXRBdG9taWNTdHJpbmcsUmVx
dWlyZXNFeGlzdGluZ0F0b21pY1N0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIGVsZW1lbnRJZCk7
CiAKICAgICAvLyBET00gTGV2ZWwgMyBDb3JlCiAKQEAgLTM0MywzICszNDIsNCBAQAogfTsKIAog
RG9jdW1lbnQgaW1wbGVtZW50cyBQYXJlbnROb2RlOworRG9jdW1lbnQgaW1wbGVtZW50cyBOb25F
bGVtZW50UGFyZW50Tm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVu
dC5jcHAJKHJldmlzaW9uIDE4NDQzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZy
YWdtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkRv
Y3VtZW50RnJhZ21lbnQuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxl
bWVudERlc2NlbmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtOTEsNCArOTIs
MTkgQEAgYm9vbCBEb2N1bWVudEZyYWdtZW50OjpwYXJzZVhNTChjb25zdCBTdAogICAgIHJldHVy
biBYTUxEb2N1bWVudFBhcnNlcjo6cGFyc2VEb2N1bWVudEZyYWdtZW50KHNvdXJjZSwgKnRoaXMs
IGNvbnRleHRFbGVtZW50LCBwYXJzZXJDb250ZW50UG9saWN5KTsKIH0KIAorRWxlbWVudCogRG9j
dW1lbnRGcmFnbWVudDo6Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29u
c3QKK3sKKyAgICAvLyBBZGQgZmFzdCBwYXRoIGZvciBTaGFkb3dSb290LCB3aGVyZSB3ZSBhcmUg
Ym90aCBhIERvY3VtZW50RnJhZ21lbnQgYW5kIGEgVHJlZVNjb3BlLgorICAgIGlmIChpc1RyZWVT
Y29wZSgpKQorICAgICAgICByZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOwor
CisgICAgLy8gT3RoZXJ3aXNlLCBmYWxsYmFjayB0byBpdGVyYXRpbmcgYWxsIG9mIHRoZSBlbGVt
ZW50IGRlc2NlbmRhbnRzLgorICAgIGZvciAoYXV0byYgZWxlbWVudCA6IGVsZW1lbnREZXNjZW5k
YW50cygqdGhpcykpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBp
ZCkKKyAgICAgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEVsZW1lbnQqPigmZWxlbWVudCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudEZyYWdtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RnJhZ21lbnQuaAkocmV2aXNpb24gMTg0NDM0KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50RnJhZ21lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOSBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3Qg
b3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1RlbXBs
YXRlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICAvLyBGcm9tIHRoZSBO
b25FbGVtZW50UGFyZW50Tm9kZSBpbnRlcmZhY2UgLSBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5v
cmcvI2ludGVyZmFjZS1ub25lbGVtZW50cGFyZW50bm9kZQorICAgIEVsZW1lbnQqIGdldEVsZW1l
bnRCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRG9j
dW1lbnRGcmFnbWVudChEb2N1bWVudCYsIENvbnN0cnVjdGlvblR5cGUgPSBDcmVhdGVDb250YWlu
ZXIpOwogICAgIHZpcnR1YWwgU3RyaW5nIG5vZGVOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsCShyZXZpc2lvbiAx
ODQ0MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTE3LDEwICsxNywxMSBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCiAgKi8KIAotIFsKK1sKICAgICBDb25zdHJ1Y3RvciwKICAgICBDb25zdHJ1Y3RvckNhbGxX
aXRoPURvY3VtZW50Ci0gXSBpbnRlcmZhY2UgRG9jdW1lbnRGcmFnbWVudCA6IE5vZGUgeworXSBp
bnRlcmZhY2UgRG9jdW1lbnRGcmFnbWVudCA6IE5vZGUgewogfTsKIAogRG9jdW1lbnRGcmFnbWVu
dCBpbXBsZW1lbnRzIFBhcmVudE5vZGU7CitEb2N1bWVudEZyYWdtZW50IGltcGxlbWVudHMgTm9u
RWxlbWVudFBhcmVudE5vZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9uRWxlbWVudFBh
cmVudE5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVtZW50
UGFyZW50Tm9kZS5pZGwJKHJldmlzaW9uIDE4NDQxOSkJKGZyb20gU291cmNlL1dlYkNvcmUvZG9t
L05vbkRvY3VtZW50VHlwZUNoaWxkTm9kZS5pZGw6MTg0NDE5KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL05vbkVsZW1lbnRQYXJlbnROb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKy8v
IGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLW5vbmRvY3VtZW50dHlwZWNo
aWxkbm9kZQorWworICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgTm9uRG9jdW1l
bnRUeXBlQ2hpbGROb2RlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCBwcmV2aW91
c0VsZW1lbnRTaWJsaW5nOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IG5leHRFbGVt
ZW50U2libGluZzsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9uRWxlbWVudFBhcmVu
dE5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVtZW50UGFy
ZW50Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob25FbGVt
ZW50UGFyZW50Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDEwICsyNCw5IEBACiAgKgog
ICovCiAKLS8vIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLW5vbmRvY3Vt
ZW50dHlwZWNoaWxkbm9kZQorLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZh
Y2Utbm9uZWxlbWVudHBhcmVudG5vZGUKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKLV0gaW50
ZXJmYWNlIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IEVsZW1lbnQgcHJldmlvdXNFbGVtZW50U2libGluZzsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
RWxlbWVudCBuZXh0RWxlbWVudFNpYmxpbmc7CitdIGludGVyZmFjZSBOb25FbGVtZW50UGFyZW50
Tm9kZSB7CisgICAgRWxlbWVudCBnZXRFbGVtZW50QnlJZChbRGVmYXVsdD1VbmRlZmluZWQsT2Jq
Q0V4cGxpY2l0QXRvbWljU3RyaW5nLFJlcXVpcmVzRXhpc3RpbmdBdG9taWNTdHJpbmddIG9wdGlv
bmFsIERPTVN0cmluZyBlbGVtZW50SWQpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZH
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE4NDQzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
VkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcwLDcgKzY3MCw3IEBAIHZvaWQgU1ZH
U1ZHRWxlbWVudDo6ZG9jdW1lbnREaWRSZXN1bWVGcm8KIAogLy8gZ2V0RWxlbWVudEJ5SWQgb24g
U1ZHU1ZHRWxlbWVudCBpcyByZXN0cmljdGVkIHRvIG9ubHkgdGhlIGNoaWxkIHN1YnRyZWUgZGVm
aW5lZCBieSB0aGUgPHN2Zz4gZWxlbWVudC4KIC8vIFNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9T
VkcxMS9zdHJ1Y3QuaHRtbCNJbnRlcmZhY2VTVkdTVkdFbGVtZW50Ci1FbGVtZW50KiBTVkdTVkdF
bGVtZW50OjpnZXRFbGVtZW50QnlJZChjb25zdCBTdHJpbmcmIGlkKQorRWxlbWVudCogU1ZHU1ZH
RWxlbWVudDo6Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkKIHsKICAgICBF
bGVtZW50KiBlbGVtZW50ID0gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgIGlm
IChlbGVtZW50ICYmIGVsZW1lbnQtPmlzRGVzY2VuZGFudE9mKHRoaXMpKQpJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCShyZXZpc2lvbiAxODQ0MzQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIHB1
YmxpYzogLy8gRE9NCiAgICAgc3RhdGljIFNWR1RyYW5zZm9ybSBjcmVhdGVTVkdUcmFuc2Zvcm0o
KTsKICAgICBzdGF0aWMgU1ZHVHJhbnNmb3JtIGNyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgo
Y29uc3QgU1ZHTWF0cml4Jik7CiAKLSAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZChjb25zdCBT
dHJpbmcmKTsKKyAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZChjb25zdCBBdG9taWNTdHJpbmcm
KTsKIAogICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdDsKICAgICB2b2lk
IHNldFpvb21BbmRQYW4odW5zaWduZWQgc2hvcnQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1NWR0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
VkdFbGVtZW50LmlkbAkocmV2aXNpb24gMTg0NDM0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw4IEBAIGludGVyZmFj
ZSBTVkdTVkdFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGUKICAgICBTVkdSZWN0IGNyZWF0ZVNWR1Jl
Y3QoKTsKICAgICBTVkdUcmFuc2Zvcm0gY3JlYXRlU1ZHVHJhbnNmb3JtKCk7CiAgICAgU1ZHVHJh
bnNmb3JtIGNyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgoW0RlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBTVkdNYXRyaXggbWF0cml4KTsKLSAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlkKFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGVsZW1lbnRJZCk7CisKKyAgICBF
bGVtZW50IGdldEVsZW1lbnRCeUlkKFtEZWZhdWx0PVVuZGVmaW5lZCwgUmVxdWlyZXNFeGlzdGlu
Z0F0b21pY1N0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIGVsZW1lbnRJZCk7CiB9OwogCiBTVkdT
VkdFbGVtZW50IGltcGxlbWVudHMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE4NDQzNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA1LTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQWRkIGdldEVsZW1lbnRCeUlkIHRvIERvY3VtZW50RnJhZ21lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTA5NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9k
b20vRG9jdW1lbnRGcmFnbWVudC9nZXRFbGVtZW50QnlJZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVudEJ5SWQuaHRtbDog
QWRkZWQuCisKIDIwMTUtMDUtMTUgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFdoZW4gcmVkaXJlY3RpbmcgdG8gZGF0YSBVUkwgdXNlIEhUVFAgcmVzcG9uc2Ug
Zm9yIHNhbWUgb3JpZ2luIHBvbGljeSBjaGVja3MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9t
L0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVudEJ5SWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVudEJ5SWQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1l
bnRGcmFnbWVudC9nZXRFbGVtZW50QnlJZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxNSBAQAorVGVzdHMgdGhhdCBnZXRFbGVtZW50QnlJZCgpIEFQSSBpcyBleHBvc2Vk
IG9uIERvY3VtZW50RnJhZ21lbnQgbm9kZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGZyYWdtZW50LmdldEVsZW1lbnRCeUlkKCdkaXZJRCcpIGlzIGRpdgorUEFTUyBm
cmFnbWVudC5nZXRFbGVtZW50QnlJZCgnYUlEJykgaXMgYQorUEFTUyBmcmFnbWVudC5nZXRFbGVt
ZW50QnlJZCgnbm90SW5GcmFnbWVudCcpIGlzIG51bGwKK1BBU1MgZnJhZ21lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2RvZXNOb3RFeGlzdCcpIGlzIG51bGwKK1BBU1MgZnJhZ21lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2R1cGxpY2F0ZUlkMScpIGlzIHNwYW4KK1BBU1MgZnJhZ21lbnQuZ2V0RWxlbWVudEJ5SWQo
J2R1cGxpY2F0ZUlkMicpIGlzIGgxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnRGcmFn
bWVudC9nZXRFbGVtZW50QnlJZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVudEJ5SWQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50RnJhZ21lbnQvZ2V0RWxlbWVudEJ5SWQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0ibm90SW5GcmFnbWVudCI+PC9kaXY+Cis8ZGl2IGlkPSJkdXBsaWNhdGVJZDEiPjwvZGl2
PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZ2V0RWxlbWVudEJ5SWQoKSBB
UEkgaXMgZXhwb3NlZCBvbiBEb2N1bWVudEZyYWdtZW50IG5vZGVzLiIpOworCit2YXIgZnJhZ21l
bnQgPSBuZXcgRG9jdW1lbnRGcmFnbWVudCgpOwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOworZGl2LmlkID0gImRpdklEIjsKK2ZyYWdtZW50LmFwcGVuZENoaWxkKGRp
dik7Cit2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKK2EuaWQgPSAiYUlEIjsK
K2Rpdi5hcHBlbmRDaGlsZChhKTsKK3ZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3BhbiIpOworc3Bhbi5pZCA9ICJkdXBsaWNhdGVJZDEiOworZGl2LmFwcGVuZENoaWxkKHNwYW4p
OwordmFyIGgxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDEiKTsKK2gxLmlkID0gImR1cGxp
Y2F0ZUlkMiI7CitkaXYuYXBwZW5kQ2hpbGQoaDEpOwordmFyIGgyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaDIiKTsKK2gyLmlkID0gImR1cGxpY2F0ZUlkMiI7CitkaXYuYXBwZW5kQ2hpbGQo
aDIpOworCitzaG91bGRCZSgiZnJhZ21lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdklEJykiLCAiZGl2
Iik7CitzaG91bGRCZSgiZnJhZ21lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FJRCcpIiwgImEiKTsKK3No
b3VsZEJlTnVsbCgiZnJhZ21lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vdEluRnJhZ21lbnQnKSIpOwor
c2hvdWxkQmVOdWxsKCJmcmFnbWVudC5nZXRFbGVtZW50QnlJZCgnZG9lc05vdEV4aXN0JykiKTsK
KworLy8gRHVwbGljYXRlIElEIGNhc2VzLgorc2hvdWxkQmUoImZyYWdtZW50LmdldEVsZW1lbnRC
eUlkKCdkdXBsaWNhdGVJZDEnKSIsICJzcGFuIik7IC8vIFNob3VsZCByZXR1cm4gdGhlIEVsZW1l
bnQgKmluc2lkZSogdGhlIERvY3VtZW50RnJhZ21lbnQuCitzaG91bGRCZSgiZnJhZ21lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2R1cGxpY2F0ZUlkMicpIiwgImgxIik7IC8vIFNob3VsZCByZXR1cm4gdGhl
IGZpcnN0IG1hdGNoaW5nIEVsZW1lbnQgaW4gY2FzZSBvZiBkdXBsaWNhdGUuCisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="278152"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>