<?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>88232</bug_id>
          
          <creation_ts>2012-06-04 07:41:28 -0700</creation_ts>
          <short_desc>SVGElementInstance should have EventTarget on the prototype chain</short_desc>
          <delta_ts>2015-01-17 19:58:36 -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>SVG</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>
          <dependson>93812</dependson>
    
    <dependson>93819</dependson>
          <blocked>67312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominic Cooney">dominicc</reporter>
          <assigned_to name="Dominic Cooney">dominicc</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>640577</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-04 07:41:28 -0700</bug_when>
    <thetext>Per the spec here: &lt;http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance&gt; SVGElementInstance is declared to extend EventTarget. So it should have EventTarget on the prototype chain instead of declaring addEventListener, removeEventListener and dispatchEvent itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640587</commentid>
    <comment_count>1</comment_count>
      <attachid>145586</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-04 07:57:48 -0700</bug_when>
    <thetext>Created attachment 145586
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640949</commentid>
    <comment_count>2</comment_count>
      <attachid>145647</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-04 16:11:53 -0700</bug_when>
    <thetext>Created attachment 145647
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641539</commentid>
    <comment_count>3</comment_count>
      <attachid>145793</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-05 07:42:40 -0700</bug_when>
    <thetext>Created attachment 145793
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641685</commentid>
    <comment_count>4</comment_count>
      <attachid>145793</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-05 10:26:44 -0700</bug_when>
    <thetext>Comment on attachment 145793
WIP Patch

Attachment 145793 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12894661</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641830</commentid>
    <comment_count>5</comment_count>
      <attachid>145793</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-05 13:13:25 -0700</bug_when>
    <thetext>Comment on attachment 145793
WIP Patch

EFL needs more IDL includes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641858</commentid>
    <comment_count>6</comment_count>
      <attachid>145861</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-05 13:46:47 -0700</bug_when>
    <thetext>Created attachment 145861
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641975</commentid>
    <comment_count>7</comment_count>
      <attachid>145861</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-05 16:00:21 -0700</bug_when>
    <thetext>Comment on attachment 145861
WIP Patch

Attachment 145861 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12902644</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642439</commentid>
    <comment_count>8</comment_count>
      <attachid>146017</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-06-06 07:14:11 -0700</bug_when>
    <thetext>Created attachment 146017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644144</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-07 17:49:35 -0700</bug_when>
    <thetext>Sorry for the delay.  Looking now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644164</commentid>
    <comment_count>10</comment_count>
      <attachid>146017</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-07 18:12:49 -0700</bug_when>
    <thetext>Comment on attachment 146017
Patch

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

Cool!

&gt; Source/WebCore/ChangeLog:51
&gt; +        * svg/SVGElementInstance.h: Must extend EventTarget first so that
&gt; +        static_cast&lt;EventTarget*&gt;(elementInstance) is the same pointer as
&gt; +        elementInstance, similar to how static_cast&lt;Node*&gt;(element) is the
&gt; +        same pointer as element.

Should we add an ASSERT for this?

&gt; Source/WebCore/bindings/js/JSEventTargetCustom.cpp:76
&gt; +    TRY_TO_UNWRAP_WITH_INTERFACE(EventTarget)

Can you add a FIXME about removing this once all the event targets are smarter?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1339
&gt; +    my $eventTarget = $dataNode-&gt;extendedAttributes-&gt;{&quot;EventTarget&quot;} || $codeGenerator-&gt;IsStrictSubtype($dataNode, &quot;EventTarget&quot;);

Should we add a helper function for this pattern since we&apos;re using it in a bunch of places?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3480
&gt; +    # TODO: When EventTarget is an interface and not a mixin, fix this so that

TODO -&gt; FIXME

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3609
&gt; +    # TODO: When EventTarget is an interface and not a mixin, fix this to use

TODO -&gt; FIXME

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3735
&gt; +    # TODO: When EventTarget is an interface and not a mixin, fix this so that

TODO -&gt; FIXME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686370</commentid>
    <comment_count>11</comment_count>
      <attachid>156281</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-08-03 01:12:03 -0700</bug_when>
    <thetext>Created attachment 156281
To run by bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686397</commentid>
    <comment_count>12</comment_count>
      <attachid>156281</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-03 01:26:23 -0700</bug_when>
    <thetext>Comment on attachment 156281
To run by bots

Attachment 156281 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13430315</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686413</commentid>
    <comment_count>13</comment_count>
      <attachid>156281</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-03 01:37:51 -0700</bug_when>
    <thetext>Comment on attachment 156281
To run by bots

Attachment 156281 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13432117</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686424</commentid>
    <comment_count>14</comment_count>
      <attachid>156281</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-03 01:46:16 -0700</bug_when>
    <thetext>Comment on attachment 156281
To run by bots

Attachment 156281 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13426514</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688704</commentid>
    <comment_count>15</comment_count>
      <attachid>156836</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-08-06 19:38:09 -0700</bug_when>
    <thetext>Created attachment 156836
To run by bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692199</commentid>
    <comment_count>16</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-08-09 22:13:21 -0700</bug_when>
    <thetext>Commited r125251.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062161</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-01-17 19:58:36 -0800</bug_when>
    <thetext>This change broke garbage collection in JavaScriptCore. See bug 132148 for details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145586</attachid>
            <date>2012-06-04 07:57:48 -0700</date>
            <delta_ts>2012-06-04 16:11:53 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>9478</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5j
cHAKaW5kZXggNjZlMTU3Ni4uODExYTQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKQEAgLTczLDYgKzczLDcgQEAgRXZlbnRU
YXJnZXQqIHRvRXZlbnRUYXJnZXQoSlNDOjpKU1ZhbHVlIHZhbHVlKQogICAgIGlmICh2YWx1ZS5p
bmhlcml0cygmSlNET01XaW5kb3dTaGVsbDo6c19pbmZvKSkKICAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0RPTVdpbmRvd1NoZWxsKj4oYXNPYmplY3QodmFsdWUpKS0+aW1wbCgpOwogCisgICAgVFJZ
X1RPX1VOV1JBUF9XSVRIX0lOVEVSRkFDRShFdmVudFRhcmdldCkKICAgICBET01fRVZFTlRfVEFS
R0VUX0lOVEVSRkFDRVNfRk9SX0VBQ0goVFJZX1RPX1VOV1JBUF9XSVRIX0lOVEVSRkFDRSkKICAg
ICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvci5wbQppbmRleCA0Njk4Zjc0Li4zZmY0NDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC02OTIsNCArNjkyLDIy
IEBAIHN1YiBHZXRWaXNpYmxlSW50ZXJmYWNlTmFtZQogICAgIHJldHVybiAkaW50ZXJmYWNlTmFt
ZSA/ICRpbnRlcmZhY2VOYW1lIDogJGRhdGFOb2RlLT5uYW1lOwogfQogCitzdWIgSXNTdHJpY3RT
dWJ0eXBlCit7CisgICAgbXkgJG9iamVjdCA9IHNoaWZ0OworICAgIG15ICRkYXRhTm9kZSA9IHNo
aWZ0OworICAgIG15ICRpbnRlcmZhY2VOYW1lID0gc2hpZnQ7CisgICAgbXkgJGZvdW5kID0gMDsK
KworICAgICRvYmplY3QtPkZvckFsbFBhcmVudHMoJGRhdGFOb2RlLCBzdWIgeworICAgICAgICBt
eSAkaW50ZXJmYWNlID0gc2hpZnQ7CisgICAgICAgIGlmICgkb2JqZWN0LT5TdHJpcE1vZHVsZSgk
aW50ZXJmYWNlLT5uYW1lKSBlcSAkaW50ZXJmYWNlTmFtZSkgeworICAgICAgICAgICAgJGZvdW5k
ID0gMTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gInBydW5lIiBpZiAkZm91bmQ7CisgICAg
fSwgMCwgMSk7CisKKyAgICByZXR1cm4gJGZvdW5kOworfQorCiAxOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzN2U0ZjFj
Li5lZDRhM2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQpAQCAtNjUwLDggKzY1MCw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgog
ICAgIG15ICRoYXNSZWFsUGFyZW50ID0gQHskZGF0YU5vZGUtPnBhcmVudHN9ID4gMDsKICAgICBt
eSAkaGFzUGFyZW50ID0gJGhhc0xlZ2FjeVBhcmVudCB8fCAkaGFzUmVhbFBhcmVudDsKICAgICBt
eSAkcGFyZW50Q2xhc3NOYW1lID0gR2V0UGFyZW50Q2xhc3NOYW1lKCRkYXRhTm9kZSk7Ci0gICAg
bXkgJGV2ZW50VGFyZ2V0ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRU
YXJnZXQifTsKLSAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07CisgICAgbXkgJGV2ZW50VGFyZ2V0ID0gJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkY29kZUdlbmVy
YXRvci0+SXNTdHJpY3RTdWJ0eXBlKCRkYXRhTm9kZSwgIkV2ZW50VGFyZ2V0Iik7CisgICAgbXkg
JG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlND
dXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJF
dmVudFRhcmdldCJ9IHx8ICRkYXRhTm9kZS0+bmFtZSBlcSAiRXZlbnRUYXJnZXQiOwogCiAgICAg
IyAtIEFkZCBkZWZhdWx0IGhlYWRlciB0ZW1wbGF0ZSBhbmQgaGVhZGVyIHByb3RlY3Rpb24KICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCBHZW5lcmF0ZUhlYWRlckNvbnRlbnRIZWFkZXIo
JGRhdGFOb2RlKSk7CkBAIC0xMzM2LDggKzEzMzYsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbgogICAgIG15ICRoYXNQYXJlbnQgPSAkaGFzTGVnYWN5UGFyZW50IHx8ICRoYXNSZWFsUGFy
ZW50OwogICAgIG15ICRwYXJlbnRDbGFzc05hbWUgPSBHZXRQYXJlbnRDbGFzc05hbWUoJGRhdGFO
b2RlKTsKICAgICBteSAkdmlzaWJsZUludGVyZmFjZU5hbWUgPSAkY29kZUdlbmVyYXRvci0+R2V0
VmlzaWJsZUludGVyZmFjZU5hbWUoJGRhdGFOb2RlKTsKLSAgICBteSAkZXZlbnRUYXJnZXQgPSAk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwotICAgIG15ICRu
ZWVkc01hcmtDaGlsZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3Vz
dG9tTWFya0Z1bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZl
bnRUYXJnZXQifTsKKyAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9IHx8ICRjb2RlR2VuZXJhdG9yLT5Jc1N0cmljdFN1YnR5
cGUoJGRhdGFOb2RlLCAiRXZlbnRUYXJnZXQiKTsKKyAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4g
PSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9
IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGRh
dGFOb2RlLT5uYW1lIGVxICJFdmVudFRhcmdldCI7CiAKICAgICAjIC0gQWRkIGRlZmF1bHQgaGVh
ZGVyIHRlbXBsYXRlCiAgICAgcHVzaChAaW1wbENvbnRlbnRIZWFkZXIsIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb25Db250ZW50SGVhZGVyKCRkYXRhTm9kZSkpOwpAQCAtMjE4Nyw3ICsyMTg3LDcgQEAg
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIENPTVBJTEVfQVNTRVJUKFN0cnVjdHVyZUZsYWdzICYgT3ZlcnJpZGVzVmlzaXRDaGls
ZHJlbiwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbldpdGhvdXRTZXR0aW5nRmxhZyk7XG4iKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdHJ1
Y3R1cmUoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNWaXNpdENoaWxkcmVuKCkpO1xuIik7CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNP
YmplY3QsIHZpc2l0b3IpO1xuIik7Ci0gICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSkgeworICAgICAgICAgICAgaWYgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGRhdGFOb2RlLT5uYW1l
IGVxICJFdmVudFRhcmdldCIpIHsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICB0aGlzT2JqZWN0LT5pbXBsKCktPnZpc2l0SlNFdmVudExpc3RlbmVycyh2aXNpdG9yKTtc
biIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCRudW1DYWNoZWRBdHRyaWJ1dGVz
ID4gMCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbQppbmRleCA2MWI5N2JlLi5hMmM2NTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMjMwLDggKzIzMCw3
IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIG15ICRjbGFzc05hbWUgPSAiVjgkaW50ZXJmYWNl
TmFtZSI7CiAgICAgbXkgJGltcGxDbGFzc05hbWUgPSAkaW50ZXJmYWNlTmFtZTsKIAotICAgICMg
Q29weSBjb250ZW50cyBvZiBwYXJlbnQgY2xhc3NlcyBleGNlcHQgdGhlIGZpcnN0IHBhcmVudCBv
ciBpZiBpdCBpcwotICAgICMgRXZlbnRUYXJnZXQuCisgICAgIyBDb3B5IGNvbnRlbnRzIG9mIHBh
cmVudCBjbGFzc2VzIGV4Y2VwdCB0aGUgZmlyc3QgcGFyZW50LgogICAgICRjb2RlR2VuZXJhdG9y
LT5BZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zyb21QYXJlbnRDbGFzc2VzKCRkYXRh
Tm9kZSwgXEBhbGxQYXJlbnRzLCAxKTsKICAgICAkY29kZUdlbmVyYXRvci0+TGlua092ZXJsb2Fk
ZWRGdW5jdGlvbnMoJGRhdGFOb2RlKTsKIApAQCAtMjM5LDcgKzIzOCw2IEBAIHN1YiBHZW5lcmF0
ZUhlYWRlcgogICAgIGlmICghJGhhc0RlcGVuZGVudExpZmV0aW1lKSB7CiAgICAgICAgIGZvcmVh
Y2ggKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkgewogICAgICAgICAgICAgbXkgJHBhcmVudCA9ICRj
b2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7Ci0gICAgICAgICAgICBuZXh0IGlmICRwYXJl
bnQgZXEgIkV2ZW50VGFyZ2V0IjsKICAgICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siVjgke3Bh
cmVudH0uaCJ9ID0gMTsKICAgICAgICAgfQogICAgIH0KQEAgLTMwNSw3ICszMDMsNiBAQCBFTkQK
ICAgICAgICAgbXkgJHNlcGFyYXRvciA9ICIiOwogICAgICAgICBmb3JlYWNoIChAeyRkYXRhTm9k
ZS0+cGFyZW50c30pIHsKICAgICAgICAgICAgIG15ICRwYXJlbnQgPSAkY29kZUdlbmVyYXRvci0+
U3RyaXBNb2R1bGUoJF8pOwotICAgICAgICAgICAgbmV4dCBpZiAkcGFyZW50IGVxICJFdmVudFRh
cmdldCI7CiAgICAgICAgICAgICAkaGVhZGVySW5jbHVkZXN7IlY4JHtwYXJlbnR9LmgifSA9IDE7
CiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiJHtzZXBhcmF0b3J9Vjgke3BhcmVu
dH06Omhhc0RlcGVuZGVudExpZmV0aW1lIik7CiAgICAgICAgICAgICAkc2VwYXJhdG9yID0gIiB8
fCAiOwpAQCAtNTExLDE0ICs1MDgsMTIgQEAgc3ViIEdldEludGVybmFsRmllbGRzCiAgICAgIyBX
ZSBjYW4ndCBhc2sgd2hldGhlciBhIHBhcmVudCB0eXBlIGhhcyBhIGdpdmVuIGV4dGVuZGVkQXR0
cmlidXRlLAogICAgICMgc28gc3BlY2lhbC1jYXNlIEFic3RyYWN0V29ya2VyIGFuZCBXb3JrZXJD
b250ZXh0IHRvIGluY2x1ZGUgYWxsIHN1Yi10eXBlcy4KICAgICAjIEV2ZW50IGxpc3RlbmVycyBv
biBET00gbm9kZXMgYXJlIGV4cGxpY2l0bHkgc3VwcG9ydGVkIGluIHRoZSBHQyBjb250cm9sbGVy
LgotICAgICMgRklYTUU6IFNWR0VsZW1lbnRJbnN0YW5jZSBzaG91bGQgcHJvYmFibHkgaGF2ZSB0
aGUgRXZlbnRUYXJnZXQgZXh0ZW5kZWQgYXR0cmlidXRlLCBidXQgZG9lc24ndC4KICAgICAjIEZJ
WE1FOiBTaW1wbGlmeSB0aGlzIHdoZW4gYWxsIEV2ZW50VGFyZ2V0cyBhcmUgc3VidHlwZXMgb2Yg
RXZlbnRUYXJnZXQuCiAgICAgaWYgKCFJc05vZGVTdWJUeXBlKCRkYXRhTm9kZSkKICAgICAgICAg
JiYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0KICAgICAg
ICAgICAgIHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzV29ya2VyQ29udGV4
dCJ9CiAgICAgICAgICAgICB8fCBJc1N1YlR5cGUoJGRhdGFOb2RlLCAiQWJzdHJhY3RXb3JrZXIi
KQotICAgICAgICAgICAgfHwgJG5hbWUgZXEgIlNWR0VsZW1lbnRJbnN0YW5jZSIKLSAgICAgICAg
ICAgIHx8ICRuYW1lIGVxICJFdmVudFRhcmdldCIpKSB7CisgICAgICAgICAgICB8fCBJc1N1YlR5
cGUoJGRhdGFOb2RlLCAiRXZlbnRUYXJnZXQiKSkpIHsKICAgICAgICAgcHVzaChAY3VzdG9tSW50
ZXJuYWxGaWVsZHMsICJldmVudExpc3RlbmVyQ2FjaGVJbmRleCIpOwogICAgIH0KIApAQCAtMjQz
Myw5ICsyNDI4LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBteSAkcGFyZW50
Q2xhc3NUZW1wbGF0ZSA9ICIiOwogICAgIGZvcmVhY2ggKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkg
ewogICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsK
LSAgICAgICAgaWYgKCRwYXJlbnQgZXEgIkV2ZW50VGFyZ2V0IikgewotICAgICAgICAgICAgbmV4
dDsKLSAgICAgICAgfQogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjgke3BhcmVudH0uaCIp
OwogICAgICAgICAkcGFyZW50Q2xhc3MgPSAiVjgiIC4gJHBhcmVudDsKICAgICAgICAgJHBhcmVu
dENsYXNzVGVtcGxhdGUgPSAkcGFyZW50Q2xhc3MgLiAiOjpHZXRUZW1wbGF0ZSgpIjsKQEAgLTM0
ODUsNiArMzQ3Nyw4IEBAIHN1YiBHZXROYXRpdmVUeXBlCiAgICAgcmV0dXJuICJSYW5nZTo6Q29t
cGFyZUhvdyIgaWYgJHR5cGUgZXEgIkNvbXBhcmVIb3ciOwogICAgIHJldHVybiAiRE9NVGltZVN0
YW1wIiBpZiAkdHlwZSBlcSAiRE9NVGltZVN0YW1wIjsKICAgICByZXR1cm4gInVuc2lnbmVkIiBp
ZiAkdHlwZSBlcSAidW5zaWduZWQgaW50IjsKKyAgICAjIFRPRE86IFdoZW4gRXZlbnRUYXJnZXQg
aXMgYW4gaW50ZXJmYWNlIGFuZCBub3QgYSBtaXhpbiwgZml4IHRoaXMgc28gdGhhdAorICAgICMg
RXZlbnRUYXJnZXQgY2FuIGJlIHBhc3NlZCBhcyBhIHBhcmFtZXRlci4KICAgICByZXR1cm4gIk5v
ZGUqIiBpZiAkdHlwZSBlcSAiRXZlbnRUYXJnZXQiIGFuZCAkaXNQYXJhbWV0ZXI7CiAgICAgcmV0
dXJuICJkb3VibGUiIGlmICR0eXBlIGVxICJEYXRlIjsKICAgICByZXR1cm4gIlNjcmlwdFZhbHVl
IiBpZiAkdHlwZSBlcSAiRE9NT2JqZWN0IjsKQEAgLTM2MTIsNiArMzYwNiw4IEBAIHN1YiBKU1Zh
bHVlVG9OYXRpdmUKICAgICB9CiAKICAgICAjIERlZmF1bHQsIGFzc3VtZSBhdXRvZ2VuZXJhdGVk
IHR5cGUgY29udmVyc2lvbiByb3V0aW5lcworICAgICMgVE9ETzogV2hlbiBFdmVudFRhcmdldCBp
cyBhbiBpbnRlcmZhY2UgYW5kIG5vdCBhIG1peGluLCBmaXggdGhpcyB0byB1c2UKKyAgICAjIFY4
RXZlbnRUYXJnZXQ6Okhhc0luc3RhbmNlIGV0Yy4KICAgICBpZiAoJHR5cGUgZXEgIkV2ZW50VGFy
Z2V0IikgewogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjhOb2RlLmgiKTsKIApAQCAtMzY1
MCw3ICszNjQ2LDYgQEAgc3ViIEdldFY4SGVhZGVyTmFtZQogICAgIG15ICR0eXBlID0gc2hpZnQ7
CiAgICAgcmV0dXJuICJWOEV2ZW50LmgiIGlmICR0eXBlIGVxICJET01UaW1lU3RhbXAiOwogICAg
IHJldHVybiAiRXZlbnRMaXN0ZW5lci5oIiBpZiAkdHlwZSBlcSAiRXZlbnRMaXN0ZW5lciI7Ci0g
ICAgcmV0dXJuICJFdmVudFRhcmdldC5oIiBpZiAkdHlwZSBlcSAiRXZlbnRUYXJnZXQiOwogICAg
IHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiIGlmICR0eXBlIGVxICJTZXJpYWxpemVk
U2NyaXB0VmFsdWUiOwogICAgIHJldHVybiAiU2NyaXB0VmFsdWUuaCIgaWYgJHR5cGUgZXEgIkRP
TU9iamVjdCI7CiAgICAgcmV0dXJuICJWOERPTVN0cmluZ0xpc3QuaCIgaWYgJHR5cGUgZXEgIkRP
TVN0cmluZ1tdIjsKQEAgLTM3MzcsNiArMzczMiw4IEBAIG15ICVub25fd3JhcHBlcl90eXBlcyA9
ICgKICAgICAnRGF0ZScgPT4gMSwKICAgICAnRGljdGlvbmFyeScgPT4gMSwKICAgICAnRXZlbnRM
aXN0ZW5lcicgPT4gMSwKKyAgICAjIFRPRE86IFdoZW4gRXZlbnRUYXJnZXQgaXMgYW4gaW50ZXJm
YWNlIGFuZCBub3QgYSBtaXhpbiwgZml4IHRoaXMgc28gdGhhdAorICAgICMgRXZlbnRUYXJnZXQg
aXMgdHJlYXRlZCBhcyBhIHdyYXBwZXIgdHlwZS4KICAgICAnRXZlbnRUYXJnZXQnID0+IDEsCiAg
ICAgJ0lEQktleScgPT4gMSwKICAgICAnSlNPYmplY3QnID0+IDEsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsCmluZGV4IDljNzE3NWMuLmIzODVhMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsCkBAIC0zMyw2ICszMyw4IEBAIG1v
ZHVsZSBzdmcgewogICAgIF0gU1ZHRWxlbWVudEluc3RhbmNlCiAjaWYgZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgOiBPYmplY3Qs
IEV2ZW50VGFyZ2V0CisjZWxzZQorICAgICAgICA6IEV2ZW50VGFyZ2V0CiAjZW5kaWYgLyogZGVm
aW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgKi8KICAgICB7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTVkdFbGVtZW50IGNvcnJlc3BvbmRpbmdFbGVtZW50OwpAQCAtODYsMTUgKzg4LDYg
QEAgbW9kdWxlIHN2ZyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbTm90RW51bWVyYWJsZV0gRXZlbnRM
aXN0ZW5lciBvbnNlbGVjdHN0YXJ0OwogICAgICAgICBhdHRyaWJ1dGUgW05vdEVudW1lcmFibGVd
IEV2ZW50TGlzdGVuZXIgb25zdWJtaXQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbTm90RW51bWVyYWJs
ZV0gRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKLQotICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAgIHZvaWQgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAg
Ym9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQotICAgICAgICAgICAgcmFpc2Vz
KEV2ZW50RXhjZXB0aW9uKTsKICNlbmRpZiAvKiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9D
KSAqLwogICAgIH07CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145647</attachid>
            <date>2012-06-04 16:11:53 -0700</date>
            <delta_ts>2012-06-05 07:42:32 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>11069</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDEwMmZjOWYuLjY1YzA0NTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtOTMzLDE0ICs5MzMsMTcgQEAgcHJlcHJvY2Vz
c19pZGxzX3NjcmlwdCA9IHBlcmwgJChhZGRwcmVmaXggLUkgJChXZWJDb3JlKS8sICQoc29ydCAk
KGRpciAkKDEpKSkpICQKICMgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCiAKIElETF9JTkNMVURFUyA9
IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9maWxlc3lzdGVtIFwKKyAgICAkKFdlYkNvcmUpL2NzcyBcCiAgICAgJChXZWJDb3JlKS9k
b20gXAogICAgICQoV2ViQ29yZSkvZmlsZWFwaSBcCiAgICAgJChXZWJDb3JlKS9odG1sIFwKLSAg
ICAkKFdlYkNvcmUpL2NzcyBcCi0gICAgJChXZWJDb3JlKS9wYWdlIFwKICAgICAkKFdlYkNvcmUp
L25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkveG1sIFwKLSAgICAkKFdlYkNvcmUpL3N2
ZworICAgICQoV2ViQ29yZSkvcGFnZSBcCisgICAgJChXZWJDb3JlKS9zdmcgXAorICAgICQoV2Vi
Q29yZSkvd29ya2VycyBcCisgICAgJChXZWJDb3JlKS94bWwKIAogSURMX0NPTU1PTl9BUkdTID0g
JChJRExfSU5DTFVERVM6JT0tLWluY2x1ZGUgJSkgLS13cml0ZS1kZXBlbmRlbmNpZXMgLS1vdXRw
dXREaXIgLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJn
ZXRDdXN0b20uY3BwCmluZGV4IDY2ZTE1NzYuLjgxMWE0MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCkBAIC03Myw2ICs3Myw3
IEBAIEV2ZW50VGFyZ2V0KiB0b0V2ZW50VGFyZ2V0KEpTQzo6SlNWYWx1ZSB2YWx1ZSkKICAgICBp
ZiAodmFsdWUuaW5oZXJpdHMoJkpTRE9NV2luZG93U2hlbGw6OnNfaW5mbykpCiAgICAgICAgIHJl
dHVybiBqc0Nhc3Q8SlNET01XaW5kb3dTaGVsbCo+KGFzT2JqZWN0KHZhbHVlKSktPmltcGwoKTsK
IAorICAgIFRSWV9UT19VTldSQVBfV0lUSF9JTlRFUkZBQ0UoRXZlbnRUYXJnZXQpCiAgICAgRE9N
X0VWRU5UX1RBUkdFVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19VTldSQVBfV0lUSF9JTlRF
UkZBQ0UpCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggNDY5OGY3NC4uM2ZmNDQ0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNjky
LDQgKzY5MiwyMiBAQCBzdWIgR2V0VmlzaWJsZUludGVyZmFjZU5hbWUKICAgICByZXR1cm4gJGlu
dGVyZmFjZU5hbWUgPyAkaW50ZXJmYWNlTmFtZSA6ICRkYXRhTm9kZS0+bmFtZTsKIH0KIAorc3Vi
IElzU3RyaWN0U3VidHlwZQoreworICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkZGF0
YU5vZGUgPSBzaGlmdDsKKyAgICBteSAkaW50ZXJmYWNlTmFtZSA9IHNoaWZ0OworICAgIG15ICRm
b3VuZCA9IDA7CisKKyAgICAkb2JqZWN0LT5Gb3JBbGxQYXJlbnRzKCRkYXRhTm9kZSwgc3ViIHsK
KyAgICAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OworICAgICAgICBpZiAoJG9iamVjdC0+U3Ry
aXBNb2R1bGUoJGludGVyZmFjZS0+bmFtZSkgZXEgJGludGVyZmFjZU5hbWUpIHsKKyAgICAgICAg
ICAgICRmb3VuZCA9IDE7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuICJwcnVuZSIgaWYgJGZv
dW5kOworICAgIH0sIDAsIDEpOworCisgICAgcmV0dXJuICRmb3VuZDsKK30KKwogMTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggMzdlNGYxYy4uZWQ0YTNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTY1MCw4ICs2NTAsOCBAQCBzdWIgR2VuZXJh
dGVIZWFkZXIKICAgICBteSAkaGFzUmVhbFBhcmVudCA9IEB7JGRhdGFOb2RlLT5wYXJlbnRzfSA+
IDA7CiAgICAgbXkgJGhhc1BhcmVudCA9ICRoYXNMZWdhY3lQYXJlbnQgfHwgJGhhc1JlYWxQYXJl
bnQ7CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IEdldFBhcmVudENsYXNzTmFtZSgkZGF0YU5v
ZGUpOwotICAgIG15ICRldmVudFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkV2ZW50VGFyZ2V0In07Ci0gICAgbXkgJG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OworICAgIG15ICRldmVudFRh
cmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwg
JGNvZGVHZW5lcmF0b3ItPklzU3RyaWN0U3VidHlwZSgkZGF0YU5vZGUsICJFdmVudFRhcmdldCIp
OworICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTQ3VzdG9tTWFya0Z1bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkZGF0YU5vZGUtPm5hbWUgZXEgIkV2ZW50VGFyZ2V0
IjsKIAogICAgICMgLSBBZGQgZGVmYXVsdCBoZWFkZXIgdGVtcGxhdGUgYW5kIGhlYWRlciBwcm90
ZWN0aW9uCiAgICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwgR2VuZXJhdGVIZWFkZXJDb250
ZW50SGVhZGVyKCRkYXRhTm9kZSkpOwpAQCAtMTMzNiw4ICsxMzM2LDggQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICBteSAkaGFzUGFyZW50ID0gJGhhc0xlZ2FjeVBhcmVudCB8fCAk
aGFzUmVhbFBhcmVudDsKICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0gR2V0UGFyZW50Q2xhc3NO
YW1lKCRkYXRhTm9kZSk7CiAgICAgbXkgJHZpc2libGVJbnRlcmZhY2VOYW1lID0gJGNvZGVHZW5l
cmF0b3ItPkdldFZpc2libGVJbnRlcmZhY2VOYW1lKCRkYXRhTm9kZSk7Ci0gICAgbXkgJGV2ZW50
VGFyZ2V0ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifTsK
LSAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkV2ZW50VGFyZ2V0In07CisgICAgbXkgJGV2ZW50VGFyZ2V0ID0gJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkY29kZUdlbmVyYXRvci0+SXNT
dHJpY3RTdWJ0eXBlKCRkYXRhTm9kZSwgIkV2ZW50VGFyZ2V0Iik7CisgICAgbXkgJG5lZWRzTWFy
a0NoaWxkcmVuID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJr
RnVuY3Rpb24ifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdl
dCJ9IHx8ICRkYXRhTm9kZS0+bmFtZSBlcSAiRXZlbnRUYXJnZXQiOwogCiAgICAgIyAtIEFkZCBk
ZWZhdWx0IGhlYWRlciB0ZW1wbGF0ZQogICAgIHB1c2goQGltcGxDb250ZW50SGVhZGVyLCBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uQ29udGVudEhlYWRlcigkZGF0YU5vZGUpKTsKQEAgLTIxODcsNyAr
MjE4Nyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICBDT01QSUxFX0FTU0VSVChTdHJ1Y3R1cmVGbGFncyAmIE92ZXJyaWRl
c1Zpc2l0Q2hpbGRyZW4sIE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW5XaXRob3V0U2V0dGluZ0ZsYWcp
O1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlQodGhpc09i
amVjdC0+c3RydWN0dXJlKCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzVmlzaXRDaGlsZHJlbigpKTtc
biIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQmFzZTo6dmlzaXRDaGls
ZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTtcbiIpOwotICAgICAgICAgICAgaWYgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0pIHsKKyAgICAgICAgICAgIGlm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9IHx8ICRkYXRh
Tm9kZS0+bmFtZSBlcSAiRXZlbnRUYXJnZXQiKSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgdGhpc09iamVjdC0+aW1wbCgpLT52aXNpdEpTRXZlbnRMaXN0ZW5lcnMo
dmlzaXRvcik7XG4iKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICgkbnVtQ2FjaGVk
QXR0cmlidXRlcyA+IDApIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggNjFiOTdiZS4uYTJjNjUyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTIz
MCw4ICsyMzAsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBteSAkY2xhc3NOYW1lID0gIlY4
JGludGVyZmFjZU5hbWUiOwogICAgIG15ICRpbXBsQ2xhc3NOYW1lID0gJGludGVyZmFjZU5hbWU7
CiAKLSAgICAjIENvcHkgY29udGVudHMgb2YgcGFyZW50IGNsYXNzZXMgZXhjZXB0IHRoZSBmaXJz
dCBwYXJlbnQgb3IgaWYgaXQgaXMKLSAgICAjIEV2ZW50VGFyZ2V0LgorICAgICMgQ29weSBjb250
ZW50cyBvZiBwYXJlbnQgY2xhc3NlcyBleGNlcHQgdGhlIGZpcnN0IHBhcmVudC4KICAgICAkY29k
ZUdlbmVyYXRvci0+QWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tUGFyZW50Q2xh
c3NlcygkZGF0YU5vZGUsIFxAYWxsUGFyZW50cywgMSk7CiAgICAgJGNvZGVHZW5lcmF0b3ItPkxp
bmtPdmVybG9hZGVkRnVuY3Rpb25zKCRkYXRhTm9kZSk7CiAKQEAgLTIzOSw3ICsyMzgsNiBAQCBz
dWIgR2VuZXJhdGVIZWFkZXIKICAgICBpZiAoISRoYXNEZXBlbmRlbnRMaWZldGltZSkgewogICAg
ICAgICBmb3JlYWNoIChAeyRkYXRhTm9kZS0+cGFyZW50c30pIHsKICAgICAgICAgICAgIG15ICRw
YXJlbnQgPSAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoJF8pOwotICAgICAgICAgICAgbmV4
dCBpZiAkcGFyZW50IGVxICJFdmVudFRhcmdldCI7CiAgICAgICAgICAgICAkaGVhZGVySW5jbHVk
ZXN7IlY4JHtwYXJlbnR9LmgifSA9IDE7CiAgICAgICAgIH0KICAgICB9CkBAIC0zMDUsNyArMzAz
LDYgQEAgRU5ECiAgICAgICAgIG15ICRzZXBhcmF0b3IgPSAiIjsKICAgICAgICAgZm9yZWFjaCAo
QHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVH
ZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKLSAgICAgICAgICAgIG5leHQgaWYgJHBhcmVudCBl
cSAiRXZlbnRUYXJnZXQiOwogICAgICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyJWOCR7cGFyZW50
fS5oIn0gPSAxOwogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiR7c2VwYXJhdG9y
fVY4JHtwYXJlbnR9OjpoYXNEZXBlbmRlbnRMaWZldGltZSIpOwogICAgICAgICAgICAgJHNlcGFy
YXRvciA9ICIgfHwgIjsKQEAgLTUxMSwxNCArNTA4LDEyIEBAIHN1YiBHZXRJbnRlcm5hbEZpZWxk
cwogICAgICMgV2UgY2FuJ3QgYXNrIHdoZXRoZXIgYSBwYXJlbnQgdHlwZSBoYXMgYSBnaXZlbiBl
eHRlbmRlZEF0dHJpYnV0ZSwKICAgICAjIHNvIHNwZWNpYWwtY2FzZSBBYnN0cmFjdFdvcmtlciBh
bmQgV29ya2VyQ29udGV4dCB0byBpbmNsdWRlIGFsbCBzdWItdHlwZXMuCiAgICAgIyBFdmVudCBs
aXN0ZW5lcnMgb24gRE9NIG5vZGVzIGFyZSBleHBsaWNpdGx5IHN1cHBvcnRlZCBpbiB0aGUgR0Mg
Y29udHJvbGxlci4KLSAgICAjIEZJWE1FOiBTVkdFbGVtZW50SW5zdGFuY2Ugc2hvdWxkIHByb2Jh
Ymx5IGhhdmUgdGhlIEV2ZW50VGFyZ2V0IGV4dGVuZGVkIGF0dHJpYnV0ZSwgYnV0IGRvZXNuJ3Qu
CiAgICAgIyBGSVhNRTogU2ltcGxpZnkgdGhpcyB3aGVuIGFsbCBFdmVudFRhcmdldHMgYXJlIHN1
YnR5cGVzIG9mIEV2ZW50VGFyZ2V0LgogICAgIGlmICghSXNOb2RlU3ViVHlwZSgkZGF0YU5vZGUp
CiAgICAgICAgICYmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdl
dCJ9CiAgICAgICAgICAgICB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJc1dv
cmtlckNvbnRleHQifQogICAgICAgICAgICAgfHwgSXNTdWJUeXBlKCRkYXRhTm9kZSwgIkFic3Ry
YWN0V29ya2VyIikKLSAgICAgICAgICAgIHx8ICRuYW1lIGVxICJTVkdFbGVtZW50SW5zdGFuY2Ui
Ci0gICAgICAgICAgICB8fCAkbmFtZSBlcSAiRXZlbnRUYXJnZXQiKSkgeworICAgICAgICAgICAg
fHwgSXNTdWJUeXBlKCRkYXRhTm9kZSwgIkV2ZW50VGFyZ2V0IikpKSB7CiAgICAgICAgIHB1c2go
QGN1c3RvbUludGVybmFsRmllbGRzLCAiZXZlbnRMaXN0ZW5lckNhY2hlSW5kZXgiKTsKICAgICB9
CiAKQEAgLTI0MzMsOSArMjQyOCw2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
bXkgJHBhcmVudENsYXNzVGVtcGxhdGUgPSAiIjsKICAgICBmb3JlYWNoIChAeyRkYXRhTm9kZS0+
cGFyZW50c30pIHsKICAgICAgICAgbXkgJHBhcmVudCA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1v
ZHVsZSgkXyk7Ci0gICAgICAgIGlmICgkcGFyZW50IGVxICJFdmVudFRhcmdldCIpIHsKLSAgICAg
ICAgICAgIG5leHQ7Ci0gICAgICAgIH0KICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlY4JHtw
YXJlbnR9LmgiKTsKICAgICAgICAgJHBhcmVudENsYXNzID0gIlY4IiAuICRwYXJlbnQ7CiAgICAg
ICAgICRwYXJlbnRDbGFzc1RlbXBsYXRlID0gJHBhcmVudENsYXNzIC4gIjo6R2V0VGVtcGxhdGUo
KSI7CkBAIC0zNDg1LDYgKzM0NzcsOCBAQCBzdWIgR2V0TmF0aXZlVHlwZQogICAgIHJldHVybiAi
UmFuZ2U6OkNvbXBhcmVIb3ciIGlmICR0eXBlIGVxICJDb21wYXJlSG93IjsKICAgICByZXR1cm4g
IkRPTVRpbWVTdGFtcCIgaWYgJHR5cGUgZXEgIkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0dXJuICJ1
bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2lnbmVkIGludCI7CisgICAgIyBUT0RPOiBXaGVuIEV2
ZW50VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90IGEgbWl4aW4sIGZpeCB0aGlzIHNvIHRo
YXQKKyAgICAjIEV2ZW50VGFyZ2V0IGNhbiBiZSBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIuCiAgICAg
cmV0dXJuICJOb2RlKiIgaWYgJHR5cGUgZXEgIkV2ZW50VGFyZ2V0IiBhbmQgJGlzUGFyYW1ldGVy
OwogICAgIHJldHVybiAiZG91YmxlIiBpZiAkdHlwZSBlcSAiRGF0ZSI7CiAgICAgcmV0dXJuICJT
Y3JpcHRWYWx1ZSIgaWYgJHR5cGUgZXEgIkRPTU9iamVjdCI7CkBAIC0zNjEyLDYgKzM2MDYsOCBA
QCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgfQogCiAgICAgIyBEZWZhdWx0LCBhc3N1bWUgYXV0
b2dlbmVyYXRlZCB0eXBlIGNvbnZlcnNpb24gcm91dGluZXMKKyAgICAjIFRPRE86IFdoZW4gRXZl
bnRUYXJnZXQgaXMgYW4gaW50ZXJmYWNlIGFuZCBub3QgYSBtaXhpbiwgZml4IHRoaXMgdG8gdXNl
CisgICAgIyBWOEV2ZW50VGFyZ2V0OjpIYXNJbnN0YW5jZSBldGMuCiAgICAgaWYgKCR0eXBlIGVx
ICJFdmVudFRhcmdldCIpIHsKICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlY4Tm9kZS5oIik7
CiAKQEAgLTM2NTAsNyArMzY0Niw2IEBAIHN1YiBHZXRWOEhlYWRlck5hbWUKICAgICBteSAkdHlw
ZSA9IHNoaWZ0OwogICAgIHJldHVybiAiVjhFdmVudC5oIiBpZiAkdHlwZSBlcSAiRE9NVGltZVN0
YW1wIjsKICAgICByZXR1cm4gIkV2ZW50TGlzdGVuZXIuaCIgaWYgJHR5cGUgZXEgIkV2ZW50TGlz
dGVuZXIiOwotICAgIHJldHVybiAiRXZlbnRUYXJnZXQuaCIgaWYgJHR5cGUgZXEgIkV2ZW50VGFy
Z2V0IjsKICAgICByZXR1cm4gIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAi
U2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKICAgICByZXR1cm4gIlNjcmlwdFZhbHVlLmgiIGlmICR0
eXBlIGVxICJET01PYmplY3QiOwogICAgIHJldHVybiAiVjhET01TdHJpbmdMaXN0LmgiIGlmICR0
eXBlIGVxICJET01TdHJpbmdbXSI7CkBAIC0zNzM3LDYgKzM3MzIsOCBAQCBteSAlbm9uX3dyYXBw
ZXJfdHlwZXMgPSAoCiAgICAgJ0RhdGUnID0+IDEsCiAgICAgJ0RpY3Rpb25hcnknID0+IDEsCiAg
ICAgJ0V2ZW50TGlzdGVuZXInID0+IDEsCisgICAgIyBUT0RPOiBXaGVuIEV2ZW50VGFyZ2V0IGlz
IGFuIGludGVyZmFjZSBhbmQgbm90IGEgbWl4aW4sIGZpeCB0aGlzIHNvIHRoYXQKKyAgICAjIEV2
ZW50VGFyZ2V0IGlzIHRyZWF0ZWQgYXMgYSB3cmFwcGVyIHR5cGUuCiAgICAgJ0V2ZW50VGFyZ2V0
JyA9PiAxLAogICAgICdJREJLZXknID0+IDEsCiAgICAgJ0pTT2JqZWN0JyA9PiAxLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCmluZGV4IDMxOWI5ZWQuLmRjM2RiNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKQEAgLTM4LDggKzM4LDggQEAg
Y2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlTGlzdDsKIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiAK
IC8vIFNWR0VsZW1lbnRJbnN0YW5jZSBtaW1pY3MgTm9kZSwgYnV0IHdpdGhvdXQgcHJvdmlkaW5n
IGFsbCBpdHMgZnVuY3Rpb25hbGl0eQotY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlIDogcHVibGlj
IFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB1YmxpYyBFdmVudFRhcmdldCB7CitjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2UgOiBwdWJs
aWMgRXZlbnRUYXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgVHJlZVNo
YXJlZDxTVkdFbGVtZW50SW5zdGFuY2U+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTVkdFbGVtZW50SW5zdGFuY2U+IGNyZWF0ZShTVkdVc2VFbGVtZW50KiBjb3JyZXNwb25kaW5n
VXNlRWxlbWVudCwgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCwgUGFzc1JlZlB0cjxT
VkdFbGVtZW50PiBvcmlnaW5hbEVsZW1lbnQpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmlkbAppbmRleCA5YzcxNzVjLi5iMzg1YTE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbApAQCAtMzMsNiArMzMsOCBAQCBtb2R1bGUg
c3ZnIHsKICAgICBdIFNWR0VsZW1lbnRJbnN0YW5jZQogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JK
RUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIDogT2JqZWN0LCBFdmVu
dFRhcmdldAorI2Vsc2UKKyAgICAgICAgOiBFdmVudFRhcmdldAogI2VuZGlmIC8qIGRlZmluZWQo
TEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCiAgICAgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHRWxlbWVudCBjb3JyZXNwb25kaW5nRWxlbWVudDsKQEAgLTg2LDE1ICs4OCw2IEBAIG1v
ZHVsZSBzdmcgewogICAgICAgICBhdHRyaWJ1dGUgW05vdEVudW1lcmFibGVdIEV2ZW50TGlzdGVu
ZXIgb25zZWxlY3RzdGFydDsKICAgICAgICAgYXR0cmlidXRlIFtOb3RFbnVtZXJhYmxlXSBFdmVu
dExpc3RlbmVyIG9uc3VibWl0OwogICAgICAgICBhdHRyaWJ1dGUgW05vdEVudW1lcmFibGVdIEV2
ZW50TGlzdGVuZXIgb251bmxvYWQ7Ci0KLSAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGlu
IERPTVN0cmluZyB0eXBlLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50
TGlzdGVuZXIgbGlzdGVuZXIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlz
dGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAgICAgIGJvb2xl
YW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKLSAgICAgICAgICAgIHJhaXNlcyhFdmVu
dEV4Y2VwdGlvbik7CiAjZW5kaWYgLyogZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgKi8K
ICAgICB9OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145793</attachid>
            <date>2012-06-05 07:42:40 -0700</date>
            <delta_ts>2012-06-05 13:46:39 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-88232-20120605234238.patch</filename>
            <type>text/plain</type>
            <size>15866</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM1OTkwNWI0NzdmYmEz
YmFiNmFlYzc4YWQ3N2U0NmVlOTFlYTRiYS4uN2VhOGVlZWMwMzhiZDc3YzhjYmVkNGZjZWQ0NzEw
ZTFlNjFiYjNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTA2LTA1ICBEb21p
bmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBTVkdFbGVtZW50
SW5zdGFuY2Ugc2hvdWxkIGhhdmUgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcgMS4xIHNw
ZWNpZmllcyB0aGF0IFNWR0VsZW1lbnRJbnN0YW5jZSBoYXMgRXZlbnRUYXJnZXQgYXMgaXRzCisg
ICAgICAgIHBhcmVudCBpbnRlcmZhY2U6CisgICAgICAgIDxodHRwOi8vd3d3LnczLm9yZy9UUi9T
Vkcvc3RydWN0Lmh0bWwjSW50ZXJmYWNlU1ZHRWxlbWVudEluc3RhbmNlPgorICAgICAgICBNYXRj
aCB0aGUgc3BlYyBieSBwdXR0aW5nIEV2ZW50VGFyZ2V0IG9uIHRoZSBwcm90b3R5cGUgY2hhaW4g
b2YKKyAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlIGluc3RlYWQgb2YgcmVkdW5kYW50bHkgZGVj
bGFyaW5nCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIsIHJlbW92ZUV2ZW50TGlzdGVuZXIgYW5k
IGRpc3BhdGNoRXZlbnQgb24gdGhlCisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZSBpbnRlcmZh
Y2UuIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc3RlcCB0byBtYWtlCisgICAgICAgIGFsbCBFdmVu
dFRhcmdldHMgZG8gaXQgdGhpcyB3YXksIGJlaW5nIHRyYWNrZWQgaW4gYnVnIDY3MzEyLgorCisg
ICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIGVnCisgICAgICAgIHN2Zy9jdXN0b20v
dXNlLWluc3RhbmNlUm9vdC1hcy1ldmVudC10YXJnZXQueGh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6IEZpbmRpbmcgYmFzZSBpbnRlcmZhY2UgdHlwZXMgcmVxdWlyZXMKKyAg
ICAgICAgc2VhcmNoaW5nIGRpcmVjdG9yaWVzIHdpdGggdGhlIElETHMgb2YgYmFzZSBpbnRlcmZh
Y2VzLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9FdmVudFRhcmdldCk6IFRyeSB0byB1bndyYXAgRXZlbnRUYXJnZXRz
IHNpbXBseSBhcworICAgICAgICBFdmVudFRhcmdldHMuIFdoZW4gYWxsIEV2ZW50VGFyZ2V0cyBk
byB0aGlzIGNvbnNpc3RlbnRseSB0aGlzCisgICAgICAgIGZ1bmN0aW9uIHdpbGwgYmUgc2ltcGxp
ZmllZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0VsZW1lbnRJbnN0YW5jZTo6dmlzaXRDaGlsZHJl
bik6IFNWR0VsZW1lbnRJbnN0YW5jZQorICAgICAgICBza2lwcyB3YWxraW5nIGl0cyBldmVudCBs
aXN0ZW5lciBsaXN0IGJlY2F1c2UgaXQgZm9yd2FyZHMKKyAgICAgICAgbGlzdGVuZXJzIHRvIGl0
cyBjb3JyZXNwb25kaW5nIGVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoSXNTdHJpY3RTdWJ0eXBlKTogRm9yIGZpbmRpbmcgd2hh
dCBpcyBhbiBFdmVudFRhcmdldCBiYXNlZCBvbgorICAgICAgICBwYXJlbnQgaW50ZXJmYWNlLgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAo
R2VuZXJhdGVIZWFkZXIpOiBFeHRlbmQgdGhlIGhldXJpc3RpYyBmb3Igd2hhdCBpcyBhbgorICAg
ICAgICBFdmVudFRhcmdldC4gV2hlbiBhbGwgRXZlbnRUYXJnZXRzIGFyZSBoYW5kbGVkIGNvbnNp
c3RlbnRseSB0aGlzCisgICAgICAgIHdpbGwgYmUgc2ltcGxpZmllZC4KKyAgICAgICAgKEdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtOiBFeHRlbmQgdGhlIGhldXJpc3RpYyBmb3IKKyAgICAgICAgd2hhdCBpcyBhbiBF
dmVudFRhcmdldCwgYW5kIHJlbW92ZSBzb21lIG9mIHRoZSBzcGVjaWFsLWNhc2luZyBmb3IKKyAg
ICAgICAgRXZlbnRUYXJnZXQuCisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChH
ZXRJbnRlcm5hbEZpZWxkcyk6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAg
ICAgICAgKEdldE5hdGl2ZVR5cGUpOgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAg
ICAgKEdldFY4SGVhZGVyTmFtZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5o
OiBNdXN0IGV4dGVuZCBFdmVudFRhcmdldCBmaXJzdCBzbyB0aGF0CisgICAgICAgIHN0YXRpY19j
YXN0PEV2ZW50VGFyZ2V0Kj4oZWxlbWVudEluc3RhbmNlKSBpcyB0aGUgc2FtZSBwb2ludGVyIGFz
CisgICAgICAgIGVsZW1lbnRJbnN0YW5jZSwgc2ltaWxhciB0byBob3cgc3RhdGljX2Nhc3Q8Tm9k
ZSo+KGVsZW1lbnQpIGlzIHRoZQorICAgICAgICBzYW1lIHBvaW50ZXIgYXMgZWxlbWVudC4KKyAg
ICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbDogRXh0ZW5kIEV2ZW50VGFyZ2V0OyBu
byBsb25nZXIgbmVlZAorICAgICAgICB0byBkZWNsYXJlIGFkZC9yZW1vdmVFdmVudExpc3RlbmVy
IGFuZCBkaXNwYXRjaEV2ZW50LgorCiAyMDEyLTA2LTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MTE5NDIxIGFuZCByMTE5NDI1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAy
ZmM5ZjE4NjUyMjQzNGYzZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uNjVjMDQ1MGU4ZTRlMmM2NGJh
N2NlYWFmODA3NGQ2YTBkYmM1YjcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC05MzMsMTQgKzkzMywxNyBAQCBwcmVwcm9jZXNzX2lkbHNfc2NyaXB0ID0gcGVybCAkKGFkZHBy
ZWZpeCAtSSAkKFdlYkNvcmUpLywgJChzb3J0ICQoZGlyICQoMSkpKSkgJAogIyBKUyBiaW5kaW5n
cyBnZW5lcmF0b3IKIAogSURMX0lOQ0xVREVTID0gXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJhdWRpbyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZpbGVzeXN0ZW0gXAorICAgICQoV2Vi
Q29yZSkvY3NzIFwKICAgICAkKFdlYkNvcmUpL2RvbSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBp
IFwKICAgICAkKFdlYkNvcmUpL2h0bWwgXAotICAgICQoV2ViQ29yZSkvY3NzIFwKLSAgICAkKFdl
YkNvcmUpL3BhZ2UgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucyBcCi0gICAgJChXZWJD
b3JlKS94bWwgXAotICAgICQoV2ViQ29yZSkvc3ZnCisgICAgJChXZWJDb3JlKS9wYWdlIFwKKyAg
ICAkKFdlYkNvcmUpL3N2ZyBcCisgICAgJChXZWJDb3JlKS93b3JrZXJzIFwKKyAgICAkKFdlYkNv
cmUpL3htbAogCiBJRExfQ09NTU9OX0FSR1MgPSAkKElETF9JTkNMVURFUzolPS0taW5jbHVkZSAl
KSAtLXdyaXRlLWRlcGVuZGVuY2llcyAtLW91dHB1dERpciAuCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKaW5kZXggNjZlMTU3NjE1
ZGI1N2UzMTBhZDNkNzkwOTAyMWRiNzkxNmRhOWUwNS4uODExYTQwNDMyOWY3NTk3MmZkNzU5YmNm
YTE0MDE3YmFmM2QzZjM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNFdmVudFRhcmdldEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNFdmVudFRhcmdldEN1c3RvbS5jcHAKQEAgLTczLDYgKzczLDcgQEAgRXZlbnRUYXJnZXQqIHRv
RXZlbnRUYXJnZXQoSlNDOjpKU1ZhbHVlIHZhbHVlKQogICAgIGlmICh2YWx1ZS5pbmhlcml0cygm
SlNET01XaW5kb3dTaGVsbDo6c19pbmZvKSkKICAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0RPTVdp
bmRvd1NoZWxsKj4oYXNPYmplY3QodmFsdWUpKS0+aW1wbCgpOwogCisgICAgVFJZX1RPX1VOV1JB
UF9XSVRIX0lOVEVSRkFDRShFdmVudFRhcmdldCkKICAgICBET01fRVZFTlRfVEFSR0VUX0lOVEVS
RkFDRVNfRk9SX0VBQ0goVFJZX1RPX1VOV1JBUF9XSVRIX0lOVEVSRkFDRSkKICAgICByZXR1cm4g
MDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxlbWVu
dEluc3RhbmNlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxl
bWVudEluc3RhbmNlQ3VzdG9tLmNwcAppbmRleCAyMzUzMjY0OWViOWE5MTJiZDZkNWU5MmNmOGY3
MThjNjE4MmYwOTA1Li44ZjI2NDVhNDhlMmZkZWJiY2MwNjZkZWY2ZTI4YmRlNjc5ODU0ODVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5j
ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdFbGVtZW50
SW5zdGFuY2VDdXN0b20uY3BwCkBAIC0zMCw4ICszMCw3IEBACiAKICNpbmNsdWRlICJKU1NWR0Vs
ZW1lbnRJbnN0YW5jZS5oIgogCi0jaW5jbHVkZSAiSlNOb2RlLmgiCi0jaW5jbHVkZSAiU1ZHRWxl
bWVudEluc3RhbmNlLmgiCisjaW5jbHVkZSAiSlNFdmVudFRhcmdldC5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDkgQEAgdm9pZCBKU1NWR0VsZW1lbnRJbnN0YW5jZTo6
dmlzaXRDaGlsZHJlbihKU0M6OkpTQ2VsbCogY2VsbCwgSlNDOjpTbG90VmlzaXRvciYgdmkKICAg
ICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsICZzX2luZm8pOwogICAgIENP
TVBJTEVfQVNTRVJUKFN0cnVjdHVyZUZsYWdzICYgSlNDOjpPdmVycmlkZXNWaXNpdENoaWxkcmVu
LCBPdmVycmlkZXNWaXNpdENoaWxkcmVuV2l0aG91dFNldHRpbmdGbGFnKTsKICAgICBBU1NFUlQo
dGhpc09iamVjdC0+c3RydWN0dXJlKCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzVmlzaXRDaGlsZHJl
bigpKTsKLSAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworICAg
IC8vIFNraXAgSlNFdmVudFRhcmdldDo6dmlzaXRDaGlsZHJlbiBiZWNhdXNlIGV2ZW50IGxpc3Rl
bmVyIHJlZ2lzdHJhdGlvbiBpcworICAgIC8vIGZvcndhcmRlZCB0byB0aGUgY29ycmVzcG9uZGlu
ZyBlbGVtZW50LgorICAgIEpTRXZlbnRUYXJnZXQ6OkJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09i
amVjdCwgdmlzaXRvcik7CiAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KHJvb3QodGhpc09iamVj
dC0+aW1wbCgpLT5jb3JyZXNwb25kaW5nRWxlbWVudCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQppbmRleCA0Njk4Zjc0NWZk
MzBmYzJlNDA2ZDBhODU0NmU3YzdiZDU2N2EwZWI1Li4zZmY0NDRlNDU5YzQ1M2MwNzMwYzY3ZmFk
MzIzNDljODQ2Nzc3YmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC02OTIsNCArNjkyLDIyIEBAIHN1YiBHZXRWaXNpYmxlSW50
ZXJmYWNlTmFtZQogICAgIHJldHVybiAkaW50ZXJmYWNlTmFtZSA/ICRpbnRlcmZhY2VOYW1lIDog
JGRhdGFOb2RlLT5uYW1lOwogfQogCitzdWIgSXNTdHJpY3RTdWJ0eXBlCit7CisgICAgbXkgJG9i
amVjdCA9IHNoaWZ0OworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0OworICAgIG15ICRpbnRlcmZh
Y2VOYW1lID0gc2hpZnQ7CisgICAgbXkgJGZvdW5kID0gMDsKKworICAgICRvYmplY3QtPkZvckFs
bFBhcmVudHMoJGRhdGFOb2RlLCBzdWIgeworICAgICAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7
CisgICAgICAgIGlmICgkb2JqZWN0LT5TdHJpcE1vZHVsZSgkaW50ZXJmYWNlLT5uYW1lKSBlcSAk
aW50ZXJmYWNlTmFtZSkgeworICAgICAgICAgICAgJGZvdW5kID0gMTsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gInBydW5lIiBpZiAkZm91bmQ7CisgICAgfSwgMCwgMSk7CisKKyAgICByZXR1
cm4gJGZvdW5kOworfQorCiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzN2U0ZjFjZDA4ZmUzYjRjNmM5NTE3M2E3MzQz
ZGRhMTA1ZGQzMTZlLi5lZDRhM2NkOGQ0NzRkNzk1MmRiYTc0YzM0MDk0OTFlOTdlMDljODRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtNjUwLDggKzY1MCw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIG15ICRoYXNS
ZWFsUGFyZW50ID0gQHskZGF0YU5vZGUtPnBhcmVudHN9ID4gMDsKICAgICBteSAkaGFzUGFyZW50
ID0gJGhhc0xlZ2FjeVBhcmVudCB8fCAkaGFzUmVhbFBhcmVudDsKICAgICBteSAkcGFyZW50Q2xh
c3NOYW1lID0gR2V0UGFyZW50Q2xhc3NOYW1lKCRkYXRhTm9kZSk7Ci0gICAgbXkgJGV2ZW50VGFy
Z2V0ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifTsKLSAg
ICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkV2ZW50VGFyZ2V0In07CisgICAgbXkgJGV2ZW50VGFyZ2V0ID0gJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkY29kZUdlbmVyYXRvci0+SXNTdHJp
Y3RTdWJ0eXBlKCRkYXRhTm9kZSwgIkV2ZW50VGFyZ2V0Iik7CisgICAgbXkgJG5lZWRzTWFya0No
aWxkcmVuID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVu
Y3Rpb24ifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9
IHx8ICRkYXRhTm9kZS0+bmFtZSBlcSAiRXZlbnRUYXJnZXQiOwogCiAgICAgIyAtIEFkZCBkZWZh
dWx0IGhlYWRlciB0ZW1wbGF0ZSBhbmQgaGVhZGVyIHByb3RlY3Rpb24KICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50SGVhZGVyLCBHZW5lcmF0ZUhlYWRlckNvbnRlbnRIZWFkZXIoJGRhdGFOb2RlKSk7
CkBAIC0xMzM2LDggKzEzMzYsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIG15
ICRoYXNQYXJlbnQgPSAkaGFzTGVnYWN5UGFyZW50IHx8ICRoYXNSZWFsUGFyZW50OwogICAgIG15
ICRwYXJlbnRDbGFzc05hbWUgPSBHZXRQYXJlbnRDbGFzc05hbWUoJGRhdGFOb2RlKTsKICAgICBt
eSAkdmlzaWJsZUludGVyZmFjZU5hbWUgPSAkY29kZUdlbmVyYXRvci0+R2V0VmlzaWJsZUludGVy
ZmFjZU5hbWUoJGRhdGFOb2RlKTsKLSAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwotICAgIG15ICRuZWVkc01hcmtDaGls
ZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tTWFya0Z1bmN0
aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifTsK
KyAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJF
dmVudFRhcmdldCJ9IHx8ICRjb2RlR2VuZXJhdG9yLT5Jc1N0cmljdFN1YnR5cGUoJGRhdGFOb2Rl
LCAiRXZlbnRUYXJnZXQiKTsKKyAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGRhdGFOb2RlLT5uYW1l
IGVxICJFdmVudFRhcmdldCI7CiAKICAgICAjIC0gQWRkIGRlZmF1bHQgaGVhZGVyIHRlbXBsYXRl
CiAgICAgcHVzaChAaW1wbENvbnRlbnRIZWFkZXIsIEdlbmVyYXRlSW1wbGVtZW50YXRpb25Db250
ZW50SGVhZGVyKCRkYXRhTm9kZSkpOwpAQCAtMjE4Nyw3ICsyMTg3LDcgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIENPTVBJ
TEVfQVNTRVJUKFN0cnVjdHVyZUZsYWdzICYgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiwgT3ZlcnJp
ZGVzVmlzaXRDaGlsZHJlbldpdGhvdXRTZXR0aW5nRmxhZyk7XG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+dHlw
ZUluZm8oKS5vdmVycmlkZXNWaXNpdENoaWxkcmVuKCkpO1xuIik7CiAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0
b3IpO1xuIik7Ci0gICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiRXZlbnRUYXJnZXQifSkgeworICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGRhdGFOb2RlLT5uYW1lIGVxICJFdmVudFRh
cmdldCIpIHsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB0aGlzT2Jq
ZWN0LT5pbXBsKCktPnZpc2l0SlNFdmVudExpc3RlbmVycyh2aXNpdG9yKTtcbiIpOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgaWYgKCRudW1DYWNoZWRBdHRyaWJ1dGVzID4gMCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpp
bmRleCA2MWI5N2JlM2Q5NmUzYTliOTBlYzRiYzRiZWM1OTBlYjc1ZTdhZWNhLi5hMmM2NTI2YTNl
NGFjMjkzY2QwZDc3NDBmOWVkNThjYjM4ZWEzZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMjMwLDggKzIzMCw3IEBA
IHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIG15ICRjbGFzc05hbWUgPSAiVjgkaW50ZXJmYWNlTmFt
ZSI7CiAgICAgbXkgJGltcGxDbGFzc05hbWUgPSAkaW50ZXJmYWNlTmFtZTsKIAotICAgICMgQ29w
eSBjb250ZW50cyBvZiBwYXJlbnQgY2xhc3NlcyBleGNlcHQgdGhlIGZpcnN0IHBhcmVudCBvciBp
ZiBpdCBpcwotICAgICMgRXZlbnRUYXJnZXQuCisgICAgIyBDb3B5IGNvbnRlbnRzIG9mIHBhcmVu
dCBjbGFzc2VzIGV4Y2VwdCB0aGUgZmlyc3QgcGFyZW50LgogICAgICRjb2RlR2VuZXJhdG9yLT5B
ZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zyb21QYXJlbnRDbGFzc2VzKCRkYXRhTm9k
ZSwgXEBhbGxQYXJlbnRzLCAxKTsKICAgICAkY29kZUdlbmVyYXRvci0+TGlua092ZXJsb2FkZWRG
dW5jdGlvbnMoJGRhdGFOb2RlKTsKIApAQCAtMjM5LDcgKzIzOCw2IEBAIHN1YiBHZW5lcmF0ZUhl
YWRlcgogICAgIGlmICghJGhhc0RlcGVuZGVudExpZmV0aW1lKSB7CiAgICAgICAgIGZvcmVhY2gg
KEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkgewogICAgICAgICAgICAgbXkgJHBhcmVudCA9ICRjb2Rl
R2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7Ci0gICAgICAgICAgICBuZXh0IGlmICRwYXJlbnQg
ZXEgIkV2ZW50VGFyZ2V0IjsKICAgICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siVjgke3BhcmVu
dH0uaCJ9ID0gMTsKICAgICAgICAgfQogICAgIH0KQEAgLTMwNSw3ICszMDMsNiBAQCBFTkQKICAg
ICAgICAgbXkgJHNlcGFyYXRvciA9ICIiOwogICAgICAgICBmb3JlYWNoIChAeyRkYXRhTm9kZS0+
cGFyZW50c30pIHsKICAgICAgICAgICAgIG15ICRwYXJlbnQgPSAkY29kZUdlbmVyYXRvci0+U3Ry
aXBNb2R1bGUoJF8pOwotICAgICAgICAgICAgbmV4dCBpZiAkcGFyZW50IGVxICJFdmVudFRhcmdl
dCI7CiAgICAgICAgICAgICAkaGVhZGVySW5jbHVkZXN7IlY4JHtwYXJlbnR9LmgifSA9IDE7CiAg
ICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiJHtzZXBhcmF0b3J9Vjgke3BhcmVudH06
Omhhc0RlcGVuZGVudExpZmV0aW1lIik7CiAgICAgICAgICAgICAkc2VwYXJhdG9yID0gIiB8fCAi
OwpAQCAtNTExLDE0ICs1MDgsMTIgQEAgc3ViIEdldEludGVybmFsRmllbGRzCiAgICAgIyBXZSBj
YW4ndCBhc2sgd2hldGhlciBhIHBhcmVudCB0eXBlIGhhcyBhIGdpdmVuIGV4dGVuZGVkQXR0cmli
dXRlLAogICAgICMgc28gc3BlY2lhbC1jYXNlIEFic3RyYWN0V29ya2VyIGFuZCBXb3JrZXJDb250
ZXh0IHRvIGluY2x1ZGUgYWxsIHN1Yi10eXBlcy4KICAgICAjIEV2ZW50IGxpc3RlbmVycyBvbiBE
T00gbm9kZXMgYXJlIGV4cGxpY2l0bHkgc3VwcG9ydGVkIGluIHRoZSBHQyBjb250cm9sbGVyLgot
ICAgICMgRklYTUU6IFNWR0VsZW1lbnRJbnN0YW5jZSBzaG91bGQgcHJvYmFibHkgaGF2ZSB0aGUg
RXZlbnRUYXJnZXQgZXh0ZW5kZWQgYXR0cmlidXRlLCBidXQgZG9lc24ndC4KICAgICAjIEZJWE1F
OiBTaW1wbGlmeSB0aGlzIHdoZW4gYWxsIEV2ZW50VGFyZ2V0cyBhcmUgc3VidHlwZXMgb2YgRXZl
bnRUYXJnZXQuCiAgICAgaWYgKCFJc05vZGVTdWJUeXBlKCRkYXRhTm9kZSkKICAgICAgICAgJiYg
KCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0KICAgICAgICAg
ICAgIHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzV29ya2VyQ29udGV4dCJ9
CiAgICAgICAgICAgICB8fCBJc1N1YlR5cGUoJGRhdGFOb2RlLCAiQWJzdHJhY3RXb3JrZXIiKQot
ICAgICAgICAgICAgfHwgJG5hbWUgZXEgIlNWR0VsZW1lbnRJbnN0YW5jZSIKLSAgICAgICAgICAg
IHx8ICRuYW1lIGVxICJFdmVudFRhcmdldCIpKSB7CisgICAgICAgICAgICB8fCBJc1N1YlR5cGUo
JGRhdGFOb2RlLCAiRXZlbnRUYXJnZXQiKSkpIHsKICAgICAgICAgcHVzaChAY3VzdG9tSW50ZXJu
YWxGaWVsZHMsICJldmVudExpc3RlbmVyQ2FjaGVJbmRleCIpOwogICAgIH0KIApAQCAtMjQzMyw5
ICsyNDI4LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBteSAkcGFyZW50Q2xh
c3NUZW1wbGF0ZSA9ICIiOwogICAgIGZvcmVhY2ggKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkgewog
ICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKLSAg
ICAgICAgaWYgKCRwYXJlbnQgZXEgIkV2ZW50VGFyZ2V0IikgewotICAgICAgICAgICAgbmV4dDsK
LSAgICAgICAgfQogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjgke3BhcmVudH0uaCIpOwog
ICAgICAgICAkcGFyZW50Q2xhc3MgPSAiVjgiIC4gJHBhcmVudDsKICAgICAgICAgJHBhcmVudENs
YXNzVGVtcGxhdGUgPSAkcGFyZW50Q2xhc3MgLiAiOjpHZXRUZW1wbGF0ZSgpIjsKQEAgLTM0ODUs
NiArMzQ3Nyw4IEBAIHN1YiBHZXROYXRpdmVUeXBlCiAgICAgcmV0dXJuICJSYW5nZTo6Q29tcGFy
ZUhvdyIgaWYgJHR5cGUgZXEgIkNvbXBhcmVIb3ciOwogICAgIHJldHVybiAiRE9NVGltZVN0YW1w
IiBpZiAkdHlwZSBlcSAiRE9NVGltZVN0YW1wIjsKICAgICByZXR1cm4gInVuc2lnbmVkIiBpZiAk
dHlwZSBlcSAidW5zaWduZWQgaW50IjsKKyAgICAjIFRPRE86IFdoZW4gRXZlbnRUYXJnZXQgaXMg
YW4gaW50ZXJmYWNlIGFuZCBub3QgYSBtaXhpbiwgZml4IHRoaXMgc28gdGhhdAorICAgICMgRXZl
bnRUYXJnZXQgY2FuIGJlIHBhc3NlZCBhcyBhIHBhcmFtZXRlci4KICAgICByZXR1cm4gIk5vZGUq
IiBpZiAkdHlwZSBlcSAiRXZlbnRUYXJnZXQiIGFuZCAkaXNQYXJhbWV0ZXI7CiAgICAgcmV0dXJu
ICJkb3VibGUiIGlmICR0eXBlIGVxICJEYXRlIjsKICAgICByZXR1cm4gIlNjcmlwdFZhbHVlIiBp
ZiAkdHlwZSBlcSAiRE9NT2JqZWN0IjsKQEAgLTM2MTIsNiArMzYwNiw4IEBAIHN1YiBKU1ZhbHVl
VG9OYXRpdmUKICAgICB9CiAKICAgICAjIERlZmF1bHQsIGFzc3VtZSBhdXRvZ2VuZXJhdGVkIHR5
cGUgY29udmVyc2lvbiByb3V0aW5lcworICAgICMgVE9ETzogV2hlbiBFdmVudFRhcmdldCBpcyBh
biBpbnRlcmZhY2UgYW5kIG5vdCBhIG1peGluLCBmaXggdGhpcyB0byB1c2UKKyAgICAjIFY4RXZl
bnRUYXJnZXQ6Okhhc0luc3RhbmNlIGV0Yy4KICAgICBpZiAoJHR5cGUgZXEgIkV2ZW50VGFyZ2V0
IikgewogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjhOb2RlLmgiKTsKIApAQCAtMzY1MCw3
ICszNjQ2LDYgQEAgc3ViIEdldFY4SGVhZGVyTmFtZQogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAg
ICAgcmV0dXJuICJWOEV2ZW50LmgiIGlmICR0eXBlIGVxICJET01UaW1lU3RhbXAiOwogICAgIHJl
dHVybiAiRXZlbnRMaXN0ZW5lci5oIiBpZiAkdHlwZSBlcSAiRXZlbnRMaXN0ZW5lciI7Ci0gICAg
cmV0dXJuICJFdmVudFRhcmdldC5oIiBpZiAkdHlwZSBlcSAiRXZlbnRUYXJnZXQiOwogICAgIHJl
dHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiIGlmICR0eXBlIGVxICJTZXJpYWxpemVkU2Ny
aXB0VmFsdWUiOwogICAgIHJldHVybiAiU2NyaXB0VmFsdWUuaCIgaWYgJHR5cGUgZXEgIkRPTU9i
amVjdCI7CiAgICAgcmV0dXJuICJWOERPTVN0cmluZ0xpc3QuaCIgaWYgJHR5cGUgZXEgIkRPTVN0
cmluZ1tdIjsKQEAgLTM3MzcsNiArMzczMiw4IEBAIG15ICVub25fd3JhcHBlcl90eXBlcyA9ICgK
ICAgICAnRGF0ZScgPT4gMSwKICAgICAnRGljdGlvbmFyeScgPT4gMSwKICAgICAnRXZlbnRMaXN0
ZW5lcicgPT4gMSwKKyAgICAjIFRPRE86IFdoZW4gRXZlbnRUYXJnZXQgaXMgYW4gaW50ZXJmYWNl
IGFuZCBub3QgYSBtaXhpbiwgZml4IHRoaXMgc28gdGhhdAorICAgICMgRXZlbnRUYXJnZXQgaXMg
dHJlYXRlZCBhcyBhIHdyYXBwZXIgdHlwZS4KICAgICAnRXZlbnRUYXJnZXQnID0+IDEsCiAgICAg
J0lEQktleScgPT4gMSwKICAgICAnSlNPYmplY3QnID0+IDEsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmgKaW5kZXggMzE5YjllZGY4ZWIyMjkzMWY2MWE3YWY0YzIyZmM5YTY4
ZTMxYmNmZC4uZGMzZGI1ZjQ5YTI3MThkZTVlYmVjMzQzYzVmNzdlYWExOGY5MDFkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaApAQCAtMzgsOCArMzgsOCBAQCBjbGFz
cyBTVkdFbGVtZW50SW5zdGFuY2VMaXN0OwogY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIAogLy8g
U1ZHRWxlbWVudEluc3RhbmNlIG1pbWljcyBOb2RlLCBidXQgd2l0aG91dCBwcm92aWRpbmcgYWxs
IGl0cyBmdW5jdGlvbmFsaXR5Ci1jbGFzcyBTVkdFbGVtZW50SW5zdGFuY2UgOiBwdWJsaWMgVHJl
ZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFuY2U+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIEV2ZW50VGFyZ2V0IHsKK2NsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBF
dmVudFRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBUcmVlU2hhcmVk
PFNWR0VsZW1lbnRJbnN0YW5jZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R0VsZW1lbnRJbnN0YW5jZT4gY3JlYXRlKFNWR1VzZUVsZW1lbnQqIGNvcnJlc3BvbmRpbmdVc2VF
bGVtZW50LCBTVkdVc2VFbGVtZW50KiBkaXJlY3RVc2VFbGVtZW50LCBQYXNzUmVmUHRyPFNWR0Vs
ZW1lbnQ+IG9yaWdpbmFsRWxlbWVudCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuaWRsCmluZGV4IDljNzE3NWM3YmZlMTAyMWYyM2ZkNjdkNjU4ZTJjNzcyMTVk
MmZhM2UuLmRiMDgxYjk2NmFhYTU1OGUxM2YwNzdjNjYwMzNjMDdjMWYyMWJkNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsCkBAIC0yOSwxMCArMjksMTMgQEAg
bW9kdWxlIHN2ZyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9U1ZHLAog
ICAgICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICAgICAgSlNHZW5lcmF0ZVRvTmF0aXZl
T2JqZWN0CisgICAgICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICAgICAgSlNHZW5l
cmF0ZVRvSlNPYmplY3QKICAgICBdIFNWR0VsZW1lbnRJbnN0YW5jZQogI2lmIGRlZmluZWQoTEFO
R1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgICAgIDogT2Jq
ZWN0LCBFdmVudFRhcmdldAorI2Vsc2UKKyAgICAgICAgOiBFdmVudFRhcmdldAogI2VuZGlmIC8q
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCiAgICAgewogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHRWxlbWVudCBjb3JyZXNwb25kaW5nRWxlbWVudDsKQEAgLTg2LDE1ICs4
OSw2IEBAIG1vZHVsZSBzdmcgewogICAgICAgICBhdHRyaWJ1dGUgW05vdEVudW1lcmFibGVdIEV2
ZW50TGlzdGVuZXIgb25zZWxlY3RzdGFydDsKICAgICAgICAgYXR0cmlidXRlIFtOb3RFbnVtZXJh
YmxlXSBFdmVudExpc3RlbmVyIG9uc3VibWl0OwogICAgICAgICBhdHRyaWJ1dGUgW05vdEVudW1l
cmFibGVdIEV2ZW50TGlzdGVuZXIgb251bmxvYWQ7Ci0KLSAgICAgICAgdm9pZCBhZGRFdmVudExp
c3RlbmVyKGluIERPTVN0cmluZyB0eXBlLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICB2b2lkIHJlbW92
ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0gICAg
ICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKLSAgICAgICAgICAgIHJh
aXNlcyhFdmVudEV4Y2VwdGlvbik7CiAjZW5kaWYgLyogZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJ
VkVfQykgKi8KICAgICB9OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145861</attachid>
            <date>2012-06-05 13:46:47 -0700</date>
            <delta_ts>2012-06-06 07:13:53 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-88232-20120606054646.patch</filename>
            <type>text/plain</type>
            <size>16465</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM1OTkwNWI0NzdmYmEz
YmFiNmFlYzc4YWQ3N2U0NmVlOTFlYTRiYS4uN2VhOGVlZWMwMzhiZDc3YzhjYmVkNGZjZWQ0NzEw
ZTFlNjFiYjNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTA2LTA1ICBEb21p
bmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBTVkdFbGVtZW50
SW5zdGFuY2Ugc2hvdWxkIGhhdmUgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcgMS4xIHNw
ZWNpZmllcyB0aGF0IFNWR0VsZW1lbnRJbnN0YW5jZSBoYXMgRXZlbnRUYXJnZXQgYXMgaXRzCisg
ICAgICAgIHBhcmVudCBpbnRlcmZhY2U6CisgICAgICAgIDxodHRwOi8vd3d3LnczLm9yZy9UUi9T
Vkcvc3RydWN0Lmh0bWwjSW50ZXJmYWNlU1ZHRWxlbWVudEluc3RhbmNlPgorICAgICAgICBNYXRj
aCB0aGUgc3BlYyBieSBwdXR0aW5nIEV2ZW50VGFyZ2V0IG9uIHRoZSBwcm90b3R5cGUgY2hhaW4g
b2YKKyAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlIGluc3RlYWQgb2YgcmVkdW5kYW50bHkgZGVj
bGFyaW5nCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIsIHJlbW92ZUV2ZW50TGlzdGVuZXIgYW5k
IGRpc3BhdGNoRXZlbnQgb24gdGhlCisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZSBpbnRlcmZh
Y2UuIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc3RlcCB0byBtYWtlCisgICAgICAgIGFsbCBFdmVu
dFRhcmdldHMgZG8gaXQgdGhpcyB3YXksIGJlaW5nIHRyYWNrZWQgaW4gYnVnIDY3MzEyLgorCisg
ICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIGVnCisgICAgICAgIHN2Zy9jdXN0b20v
dXNlLWluc3RhbmNlUm9vdC1hcy1ldmVudC10YXJnZXQueGh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6IEZpbmRpbmcgYmFzZSBpbnRlcmZhY2UgdHlwZXMgcmVxdWlyZXMKKyAg
ICAgICAgc2VhcmNoaW5nIGRpcmVjdG9yaWVzIHdpdGggdGhlIElETHMgb2YgYmFzZSBpbnRlcmZh
Y2VzLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9FdmVudFRhcmdldCk6IFRyeSB0byB1bndyYXAgRXZlbnRUYXJnZXRz
IHNpbXBseSBhcworICAgICAgICBFdmVudFRhcmdldHMuIFdoZW4gYWxsIEV2ZW50VGFyZ2V0cyBk
byB0aGlzIGNvbnNpc3RlbnRseSB0aGlzCisgICAgICAgIGZ1bmN0aW9uIHdpbGwgYmUgc2ltcGxp
ZmllZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0VsZW1lbnRJbnN0YW5jZTo6dmlzaXRDaGlsZHJl
bik6IFNWR0VsZW1lbnRJbnN0YW5jZQorICAgICAgICBza2lwcyB3YWxraW5nIGl0cyBldmVudCBs
aXN0ZW5lciBsaXN0IGJlY2F1c2UgaXQgZm9yd2FyZHMKKyAgICAgICAgbGlzdGVuZXJzIHRvIGl0
cyBjb3JyZXNwb25kaW5nIGVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoSXNTdHJpY3RTdWJ0eXBlKTogRm9yIGZpbmRpbmcgd2hh
dCBpcyBhbiBFdmVudFRhcmdldCBiYXNlZCBvbgorICAgICAgICBwYXJlbnQgaW50ZXJmYWNlLgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAo
R2VuZXJhdGVIZWFkZXIpOiBFeHRlbmQgdGhlIGhldXJpc3RpYyBmb3Igd2hhdCBpcyBhbgorICAg
ICAgICBFdmVudFRhcmdldC4gV2hlbiBhbGwgRXZlbnRUYXJnZXRzIGFyZSBoYW5kbGVkIGNvbnNp
c3RlbnRseSB0aGlzCisgICAgICAgIHdpbGwgYmUgc2ltcGxpZmllZC4KKyAgICAgICAgKEdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtOiBFeHRlbmQgdGhlIGhldXJpc3RpYyBmb3IKKyAgICAgICAgd2hhdCBpcyBhbiBF
dmVudFRhcmdldCwgYW5kIHJlbW92ZSBzb21lIG9mIHRoZSBzcGVjaWFsLWNhc2luZyBmb3IKKyAg
ICAgICAgRXZlbnRUYXJnZXQuCisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChH
ZXRJbnRlcm5hbEZpZWxkcyk6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAg
ICAgICAgKEdldE5hdGl2ZVR5cGUpOgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAg
ICAgKEdldFY4SGVhZGVyTmFtZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5o
OiBNdXN0IGV4dGVuZCBFdmVudFRhcmdldCBmaXJzdCBzbyB0aGF0CisgICAgICAgIHN0YXRpY19j
YXN0PEV2ZW50VGFyZ2V0Kj4oZWxlbWVudEluc3RhbmNlKSBpcyB0aGUgc2FtZSBwb2ludGVyIGFz
CisgICAgICAgIGVsZW1lbnRJbnN0YW5jZSwgc2ltaWxhciB0byBob3cgc3RhdGljX2Nhc3Q8Tm9k
ZSo+KGVsZW1lbnQpIGlzIHRoZQorICAgICAgICBzYW1lIHBvaW50ZXIgYXMgZWxlbWVudC4KKyAg
ICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbDogRXh0ZW5kIEV2ZW50VGFyZ2V0OyBu
byBsb25nZXIgbmVlZAorICAgICAgICB0byBkZWNsYXJlIGFkZC9yZW1vdmVFdmVudExpc3RlbmVy
IGFuZCBkaXNwYXRjaEV2ZW50LgorCiAyMDEyLTA2LTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MTE5NDIxIGFuZCByMTE5NDI1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAy
ZmM5ZjE4NjUyMjQzNGYzZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMzJiZWI3OTA1ZjJjZTViYTFj
NzA3YmI5ZmIxYjhmYzYwMzY3OWY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC05MzMsMTQgKzkzMywzNSBAQCBwcmVwcm9jZXNzX2lkbHNfc2NyaXB0ID0gcGVybCAkKGFkZHBy
ZWZpeCAtSSAkKFdlYkNvcmUpLywgJChzb3J0ICQoZGlyICQoMSkpKSkgJAogIyBKUyBiaW5kaW5n
cyBnZW5lcmF0b3IKIAogSURMX0lOQ0xVREVTID0gXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9i
YXR0ZXJ5IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbSBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlv
biBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2ludGVudHMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL25ldHdvcmtpbmZvIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvc3BlZWNoIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvdmlicmF0aW9uIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRh
YmFzZSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMgXAorICAgICQoV2ViQ29y
ZSkvY3NzIFwKICAgICAkKFdlYkNvcmUpL2RvbSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpIFwK
ICAgICAkKFdlYkNvcmUpL2h0bWwgXAotICAgICQoV2ViQ29yZSkvY3NzIFwKLSAgICAkKFdlYkNv
cmUpL3BhZ2UgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMgXAorICAgICQoV2ViQ29yZSkv
aHRtbC9zaGFkb3cgXAorICAgICQoV2ViQ29yZSkvaHRtbC90cmFjayBcCisgICAgJChXZWJDb3Jl
KS9pbnNwZWN0b3IgXAorICAgICQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlIFwKICAgICAkKFdl
YkNvcmUpL25vdGlmaWNhdGlvbnMgXAotICAgICQoV2ViQ29yZSkveG1sIFwKLSAgICAkKFdlYkNv
cmUpL3N2ZworICAgICQoV2ViQ29yZSkvcGFnZSBcCisgICAgJChXZWJDb3JlKS9wbHVnaW5zIFwK
KyAgICAkKFdlYkNvcmUpL3N0b3JhZ2UgXAorICAgICQoV2ViQ29yZSkvc3ZnIFwKKyAgICAkKFdl
YkNvcmUpL3dvcmtlcnMgXAorICAgICQoV2ViQ29yZSkveG1sCiAKIElETF9DT01NT05fQVJHUyA9
ICQoSURMX0lOQ0xVREVTOiU9LS1pbmNsdWRlICUpIC0td3JpdGUtZGVwZW5kZW5jaWVzIC0tb3V0
cHV0RGlyIC4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVu
dFRhcmdldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFy
Z2V0Q3VzdG9tLmNwcAppbmRleCA2NmUxNTc2MTVkYjU3ZTMxMGFkM2Q3OTA5MDIxZGI3OTE2ZGE5
ZTA1Li44MTFhNDA0MzI5Zjc1OTcyZmQ3NTliY2ZhMTQwMTdiYWYzZDNmMzc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcApAQCAt
NzMsNiArNzMsNyBAQCBFdmVudFRhcmdldCogdG9FdmVudFRhcmdldChKU0M6OkpTVmFsdWUgdmFs
dWUpCiAgICAgaWYgKHZhbHVlLmluaGVyaXRzKCZKU0RPTVdpbmRvd1NoZWxsOjpzX2luZm8pKQog
ICAgICAgICByZXR1cm4ganNDYXN0PEpTRE9NV2luZG93U2hlbGwqPihhc09iamVjdCh2YWx1ZSkp
LT5pbXBsKCk7CiAKKyAgICBUUllfVE9fVU5XUkFQX1dJVEhfSU5URVJGQUNFKEV2ZW50VGFyZ2V0
KQogICAgIERPTV9FVkVOVF9UQVJHRVRfSU5URVJGQUNFU19GT1JfRUFDSChUUllfVE9fVU5XUkFQ
X1dJVEhfSU5URVJGQUNFKQogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCmluZGV4
IDIzNTMyNjQ5ZWI5YTkxMmJkNmQ1ZTkyY2Y4ZjcxOGM2MTgyZjA5MDUuLjhmMjY0NWE0OGUyZmRl
YmJjYzA2NmRlZjZlMjhiZGU2Nzk4NTQ4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAKQEAgLTMwLDgg
KzMwLDcgQEAKIAogI2luY2x1ZGUgIkpTU1ZHRWxlbWVudEluc3RhbmNlLmgiCiAKLSNpbmNsdWRl
ICJKU05vZGUuaCIKLSNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFuY2UuaCIKKyNpbmNsdWRlICJK
U0V2ZW50VGFyZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyArNDAsOSBA
QCB2b2lkIEpTU1ZHRWxlbWVudEluc3RhbmNlOjp2aXNpdENoaWxkcmVuKEpTQzo6SlNDZWxsKiBj
ZWxsLCBKU0M6OlNsb3RWaXNpdG9yJiB2aQogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMo
dGhpc09iamVjdCwgJnNfaW5mbyk7CiAgICAgQ09NUElMRV9BU1NFUlQoU3RydWN0dXJlRmxhZ3Mg
JiBKU0M6Ok92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4sIE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW5XaXRo
b3V0U2V0dGluZ0ZsYWcpOwogICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+dHlw
ZUluZm8oKS5vdmVycmlkZXNWaXNpdENoaWxkcmVuKCkpOwotICAgIEJhc2U6OnZpc2l0Q2hpbGRy
ZW4odGhpc09iamVjdCwgdmlzaXRvcik7CisgICAgLy8gU2tpcCBKU0V2ZW50VGFyZ2V0Ojp2aXNp
dENoaWxkcmVuIGJlY2F1c2UgZXZlbnQgbGlzdGVuZXIgcmVnaXN0cmF0aW9uIGlzCisgICAgLy8g
Zm9yd2FyZGVkIHRvIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnQuCisgICAgSlNFdmVudFRhcmdl
dDo6QmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKICAgICB2aXNpdG9y
LmFkZE9wYXF1ZVJvb3Qocm9vdCh0aGlzT2JqZWN0LT5pbXBsKCktPmNvcnJlc3BvbmRpbmdFbGVt
ZW50KCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtCmluZGV4IDQ2OThmNzQ1ZmQzMGZjMmU0MDZkMGE4NTQ2ZTdjN2JkNTY3YTBl
YjUuLjNmZjQ0NGU0NTljNDUzYzA3MzBjNjdmYWQzMjM0OWM4NDY3NzdiYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTY5Miw0
ICs2OTIsMjIgQEAgc3ViIEdldFZpc2libGVJbnRlcmZhY2VOYW1lCiAgICAgcmV0dXJuICRpbnRl
cmZhY2VOYW1lID8gJGludGVyZmFjZU5hbWUgOiAkZGF0YU5vZGUtPm5hbWU7CiB9CiAKK3N1YiBJ
c1N0cmljdFN1YnR5cGUKK3sKKyAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgICAgbXkgJGRhdGFO
b2RlID0gc2hpZnQ7CisgICAgbXkgJGludGVyZmFjZU5hbWUgPSBzaGlmdDsKKyAgICBteSAkZm91
bmQgPSAwOworCisgICAgJG9iamVjdC0+Rm9yQWxsUGFyZW50cygkZGF0YU5vZGUsIHN1YiB7Cisg
ICAgICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKKyAgICAgICAgaWYgKCRvYmplY3QtPlN0cmlw
TW9kdWxlKCRpbnRlcmZhY2UtPm5hbWUpIGVxICRpbnRlcmZhY2VOYW1lKSB7CisgICAgICAgICAg
ICAkZm91bmQgPSAxOworICAgICAgICB9CisgICAgICAgIHJldHVybiAicHJ1bmUiIGlmICRmb3Vu
ZDsKKyAgICB9LCAwLCAxKTsKKworICAgIHJldHVybiAkZm91bmQ7Cit9CisKIDE7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4
IDM3ZTRmMWNkMDhmZTNiNGM2Yzk1MTczYTczNDNkZGExMDVkZDMxNmUuLmVkNGEzY2Q4ZDQ3NGQ3
OTUyZGJhNzRjMzQwOTQ5MWU5N2UwOWM4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC02NTAsOCArNjUwLDggQEAgc3Vi
IEdlbmVyYXRlSGVhZGVyCiAgICAgbXkgJGhhc1JlYWxQYXJlbnQgPSBAeyRkYXRhTm9kZS0+cGFy
ZW50c30gPiAwOwogICAgIG15ICRoYXNQYXJlbnQgPSAkaGFzTGVnYWN5UGFyZW50IHx8ICRoYXNS
ZWFsUGFyZW50OwogICAgIG15ICRwYXJlbnRDbGFzc05hbWUgPSBHZXRQYXJlbnRDbGFzc05hbWUo
JGRhdGFOb2RlKTsKLSAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwotICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tTWFya0Z1bmN0aW9uIn0gfHwg
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifTsKKyAgICBteSAk
ZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdl
dCJ9IHx8ICRjb2RlR2VuZXJhdG9yLT5Jc1N0cmljdFN1YnR5cGUoJGRhdGFOb2RlLCAiRXZlbnRU
YXJnZXQiKTsKKyAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGRhdGFOb2RlLT5uYW1lIGVxICJFdmVu
dFRhcmdldCI7CiAKICAgICAjIC0gQWRkIGRlZmF1bHQgaGVhZGVyIHRlbXBsYXRlIGFuZCBoZWFk
ZXIgcHJvdGVjdGlvbgogICAgIHB1c2goQGhlYWRlckNvbnRlbnRIZWFkZXIsIEdlbmVyYXRlSGVh
ZGVyQ29udGVudEhlYWRlcigkZGF0YU5vZGUpKTsKQEAgLTEzMzYsOCArMTMzNiw4IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgbXkgJGhhc1BhcmVudCA9ICRoYXNMZWdhY3lQYXJl
bnQgfHwgJGhhc1JlYWxQYXJlbnQ7CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IEdldFBhcmVu
dENsYXNzTmFtZSgkZGF0YU5vZGUpOwogICAgIG15ICR2aXNpYmxlSW50ZXJmYWNlTmFtZSA9ICRj
b2RlR2VuZXJhdG9yLT5HZXRWaXNpYmxlSW50ZXJmYWNlTmFtZSgkZGF0YU5vZGUpOwotICAgIG15
ICRldmVudFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFy
Z2V0In07Ci0gICAgbXkgJG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OworICAgIG15ICRldmVudFRhcmdldCA9ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGNvZGVHZW5lcmF0
b3ItPklzU3RyaWN0U3VidHlwZSgkZGF0YU5vZGUsICJFdmVudFRhcmdldCIpOworICAgIG15ICRu
ZWVkc01hcmtDaGlsZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3Vz
dG9tTWFya0Z1bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZl
bnRUYXJnZXQifSB8fCAkZGF0YU5vZGUtPm5hbWUgZXEgIkV2ZW50VGFyZ2V0IjsKIAogICAgICMg
LSBBZGQgZGVmYXVsdCBoZWFkZXIgdGVtcGxhdGUKICAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRl
ciwgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkNvbnRlbnRIZWFkZXIoJGRhdGFOb2RlKSk7CkBAIC0y
MTg3LDcgKzIxODcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgQ09NUElMRV9BU1NFUlQoU3RydWN0dXJlRmxhZ3MgJiBP
dmVycmlkZXNWaXNpdENoaWxkcmVuLCBPdmVycmlkZXNWaXNpdENoaWxkcmVuV2l0aG91dFNldHRp
bmdGbGFnKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQVNTRVJU
KHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT50eXBlSW5mbygpLm92ZXJyaWRlc1Zpc2l0Q2hpbGRy
ZW4oKSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEJhc2U6OnZp
c2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7XG4iKTsKLSAgICAgICAgICAgIGlmICgk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9KSB7CisgICAgICAg
ICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8
fCAkZGF0YU5vZGUtPm5hbWUgZXEgIkV2ZW50VGFyZ2V0IikgewogICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHRoaXNPYmplY3QtPmltcGwoKS0+dmlzaXRKU0V2ZW50TGlz
dGVuZXJzKHZpc2l0b3IpO1xuIik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoJG51
bUNhY2hlZEF0dHJpYnV0ZXMgPiAwKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDYxYjk3YmUzZDk2ZTNhOWI5MGVjNGJj
NGJlYzU5MGViNzVlN2FlY2EuLmEyYzY1MjZhM2U0YWMyOTNjZDBkNzc0MGY5ZWQ1OGNiMzhlYTNk
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtCkBAIC0yMzAsOCArMjMwLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgbXkg
JGNsYXNzTmFtZSA9ICJWOCRpbnRlcmZhY2VOYW1lIjsKICAgICBteSAkaW1wbENsYXNzTmFtZSA9
ICRpbnRlcmZhY2VOYW1lOwogCi0gICAgIyBDb3B5IGNvbnRlbnRzIG9mIHBhcmVudCBjbGFzc2Vz
IGV4Y2VwdCB0aGUgZmlyc3QgcGFyZW50IG9yIGlmIGl0IGlzCi0gICAgIyBFdmVudFRhcmdldC4K
KyAgICAjIENvcHkgY29udGVudHMgb2YgcGFyZW50IGNsYXNzZXMgZXhjZXB0IHRoZSBmaXJzdCBw
YXJlbnQuCiAgICAgJGNvZGVHZW5lcmF0b3ItPkFkZE1ldGhvZHNDb25zdGFudHNBbmRBdHRyaWJ1
dGVzRnJvbVBhcmVudENsYXNzZXMoJGRhdGFOb2RlLCBcQGFsbFBhcmVudHMsIDEpOwogICAgICRj
b2RlR2VuZXJhdG9yLT5MaW5rT3ZlcmxvYWRlZEZ1bmN0aW9ucygkZGF0YU5vZGUpOwogCkBAIC0y
MzksNyArMjM4LDYgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgaWYgKCEkaGFzRGVwZW5kZW50
TGlmZXRpbWUpIHsKICAgICAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAg
ICAgICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsK
LSAgICAgICAgICAgIG5leHQgaWYgJHBhcmVudCBlcSAiRXZlbnRUYXJnZXQiOwogICAgICAgICAg
ICAgJGhlYWRlckluY2x1ZGVzeyJWOCR7cGFyZW50fS5oIn0gPSAxOwogICAgICAgICB9CiAgICAg
fQpAQCAtMzA1LDcgKzMwMyw2IEBAIEVORAogICAgICAgICBteSAkc2VwYXJhdG9yID0gIiI7CiAg
ICAgICAgIGZvcmVhY2ggKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkgewogICAgICAgICAgICAgbXkg
JHBhcmVudCA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7Ci0gICAgICAgICAgICBu
ZXh0IGlmICRwYXJlbnQgZXEgIkV2ZW50VGFyZ2V0IjsKICAgICAgICAgICAgICRoZWFkZXJJbmNs
dWRlc3siVjgke3BhcmVudH0uaCJ9ID0gMTsKICAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICIke3NlcGFyYXRvcn1WOCR7cGFyZW50fTo6aGFzRGVwZW5kZW50TGlmZXRpbWUiKTsKICAg
ICAgICAgICAgICRzZXBhcmF0b3IgPSAiIHx8ICI7CkBAIC01MTEsMTQgKzUwOCwxMiBAQCBzdWIg
R2V0SW50ZXJuYWxGaWVsZHMKICAgICAjIFdlIGNhbid0IGFzayB3aGV0aGVyIGEgcGFyZW50IHR5
cGUgaGFzIGEgZ2l2ZW4gZXh0ZW5kZWRBdHRyaWJ1dGUsCiAgICAgIyBzbyBzcGVjaWFsLWNhc2Ug
QWJzdHJhY3RXb3JrZXIgYW5kIFdvcmtlckNvbnRleHQgdG8gaW5jbHVkZSBhbGwgc3ViLXR5cGVz
LgogICAgICMgRXZlbnQgbGlzdGVuZXJzIG9uIERPTSBub2RlcyBhcmUgZXhwbGljaXRseSBzdXBw
b3J0ZWQgaW4gdGhlIEdDIGNvbnRyb2xsZXIuCi0gICAgIyBGSVhNRTogU1ZHRWxlbWVudEluc3Rh
bmNlIHNob3VsZCBwcm9iYWJseSBoYXZlIHRoZSBFdmVudFRhcmdldCBleHRlbmRlZCBhdHRyaWJ1
dGUsIGJ1dCBkb2Vzbid0LgogICAgICMgRklYTUU6IFNpbXBsaWZ5IHRoaXMgd2hlbiBhbGwgRXZl
bnRUYXJnZXRzIGFyZSBzdWJ0eXBlcyBvZiBFdmVudFRhcmdldC4KICAgICBpZiAoIUlzTm9kZVN1
YlR5cGUoJGRhdGFOb2RlKQogICAgICAgICAmJiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiRXZlbnRUYXJnZXQifQogICAgICAgICAgICAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSXNXb3JrZXJDb250ZXh0In0KICAgICAgICAgICAgIHx8IElzU3ViVHlwZSgk
ZGF0YU5vZGUsICJBYnN0cmFjdFdvcmtlciIpCi0gICAgICAgICAgICB8fCAkbmFtZSBlcSAiU1ZH
RWxlbWVudEluc3RhbmNlIgotICAgICAgICAgICAgfHwgJG5hbWUgZXEgIkV2ZW50VGFyZ2V0Iikp
IHsKKyAgICAgICAgICAgIHx8IElzU3ViVHlwZSgkZGF0YU5vZGUsICJFdmVudFRhcmdldCIpKSkg
ewogICAgICAgICBwdXNoKEBjdXN0b21JbnRlcm5hbEZpZWxkcywgImV2ZW50TGlzdGVuZXJDYWNo
ZUluZGV4Iik7CiAgICAgfQogCkBAIC0yNDMzLDkgKzI0MjgsNiBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogICAgIG15ICRwYXJlbnRDbGFzc1RlbXBsYXRlID0gIiI7CiAgICAgZm9yZWFj
aCAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgIG15ICRwYXJlbnQgPSAkY29kZUdl
bmVyYXRvci0+U3RyaXBNb2R1bGUoJF8pOwotICAgICAgICBpZiAoJHBhcmVudCBlcSAiRXZlbnRU
YXJnZXQiKSB7Ci0gICAgICAgICAgICBuZXh0OwotICAgICAgICB9CiAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJWOCR7cGFyZW50fS5oIik7CiAgICAgICAgICRwYXJlbnRDbGFzcyA9ICJWOCIg
LiAkcGFyZW50OwogICAgICAgICAkcGFyZW50Q2xhc3NUZW1wbGF0ZSA9ICRwYXJlbnRDbGFzcyAu
ICI6OkdldFRlbXBsYXRlKCkiOwpAQCAtMzQ4NSw2ICszNDc3LDggQEAgc3ViIEdldE5hdGl2ZVR5
cGUKICAgICByZXR1cm4gIlJhbmdlOjpDb21wYXJlSG93IiBpZiAkdHlwZSBlcSAiQ29tcGFyZUhv
dyI7CiAgICAgcmV0dXJuICJET01UaW1lU3RhbXAiIGlmICR0eXBlIGVxICJET01UaW1lU3RhbXAi
OwogICAgIHJldHVybiAidW5zaWduZWQiIGlmICR0eXBlIGVxICJ1bnNpZ25lZCBpbnQiOworICAg
ICMgVE9ETzogV2hlbiBFdmVudFRhcmdldCBpcyBhbiBpbnRlcmZhY2UgYW5kIG5vdCBhIG1peGlu
LCBmaXggdGhpcyBzbyB0aGF0CisgICAgIyBFdmVudFRhcmdldCBjYW4gYmUgcGFzc2VkIGFzIGEg
cGFyYW1ldGVyLgogICAgIHJldHVybiAiTm9kZSoiIGlmICR0eXBlIGVxICJFdmVudFRhcmdldCIg
YW5kICRpc1BhcmFtZXRlcjsKICAgICByZXR1cm4gImRvdWJsZSIgaWYgJHR5cGUgZXEgIkRhdGUi
OwogICAgIHJldHVybiAiU2NyaXB0VmFsdWUiIGlmICR0eXBlIGVxICJET01PYmplY3QiOwpAQCAt
MzYxMiw2ICszNjA2LDggQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgIH0KIAogICAgICMgRGVm
YXVsdCwgYXNzdW1lIGF1dG9nZW5lcmF0ZWQgdHlwZSBjb252ZXJzaW9uIHJvdXRpbmVzCisgICAg
IyBUT0RPOiBXaGVuIEV2ZW50VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90IGEgbWl4aW4s
IGZpeCB0aGlzIHRvIHVzZQorICAgICMgVjhFdmVudFRhcmdldDo6SGFzSW5zdGFuY2UgZXRjLgog
ICAgIGlmICgkdHlwZSBlcSAiRXZlbnRUYXJnZXQiKSB7CiAgICAgICAgIEFkZFRvSW1wbEluY2x1
ZGVzKCJWOE5vZGUuaCIpOwogCkBAIC0zNjUwLDcgKzM2NDYsNiBAQCBzdWIgR2V0VjhIZWFkZXJO
YW1lCiAgICAgbXkgJHR5cGUgPSBzaGlmdDsKICAgICByZXR1cm4gIlY4RXZlbnQuaCIgaWYgJHR5
cGUgZXEgIkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0dXJuICJFdmVudExpc3RlbmVyLmgiIGlmICR0
eXBlIGVxICJFdmVudExpc3RlbmVyIjsKLSAgICByZXR1cm4gIkV2ZW50VGFyZ2V0LmgiIGlmICR0
eXBlIGVxICJFdmVudFRhcmdldCI7CiAgICAgcmV0dXJuICJTZXJpYWxpemVkU2NyaXB0VmFsdWUu
aCIgaWYgJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSI7CiAgICAgcmV0dXJuICJTY3Jp
cHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAiRE9NT2JqZWN0IjsKICAgICByZXR1cm4gIlY4RE9NU3Ry
aW5nTGlzdC5oIiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nW10iOwpAQCAtMzczNyw2ICszNzMyLDgg
QEAgbXkgJW5vbl93cmFwcGVyX3R5cGVzID0gKAogICAgICdEYXRlJyA9PiAxLAogICAgICdEaWN0
aW9uYXJ5JyA9PiAxLAogICAgICdFdmVudExpc3RlbmVyJyA9PiAxLAorICAgICMgVE9ETzogV2hl
biBFdmVudFRhcmdldCBpcyBhbiBpbnRlcmZhY2UgYW5kIG5vdCBhIG1peGluLCBmaXggdGhpcyBz
byB0aGF0CisgICAgIyBFdmVudFRhcmdldCBpcyB0cmVhdGVkIGFzIGEgd3JhcHBlciB0eXBlLgog
ICAgICdFdmVudFRhcmdldCcgPT4gMSwKICAgICAnSURCS2V5JyA9PiAxLAogICAgICdKU09iamVj
dCcgPT4gMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAppbmRleCAzMTli
OWVkZjhlYjIyOTMxZjYxYTdhZjRjMjJmYzlhNjhlMzFiY2ZkLi5kYzNkYjVmNDlhMjcxOGRlNWVi
ZWMzNDNjNWY3N2VhYTE4ZjkwMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5oCkBAIC0zOCw4ICszOCw4IEBAIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q7CiBj
bGFzcyBTVkdTdHlsZWRFbGVtZW50OwogCiAvLyBTVkdFbGVtZW50SW5zdGFuY2UgbWltaWNzIE5v
ZGUsIGJ1dCB3aXRob3V0IHByb3ZpZGluZyBhbGwgaXRzIGZ1bmN0aW9uYWxpdHkKLWNsYXNzIFNW
R0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBUcmVlU2hhcmVkPFNWR0VsZW1lbnRJbnN0YW5jZT4s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgRXZlbnRUYXJnZXQgeworY2xhc3Mg
U1ZHRWxlbWVudEluc3RhbmNlIDogcHVibGljIEV2ZW50VGFyZ2V0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPiB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZH
VXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVj
dFVzZUVsZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGwKaW5kZXggOWM3MTc1
YzdiZmUxMDIxZjIzZmQ2N2Q2NThlMmM3NzIxNWQyZmEzZS4uZGIwODFiOTY2YWFhNTU4ZTEzZjA3
N2M2NjAzM2MwN2MxZjIxYmQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnRJbnN0YW5jZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5pZGwKQEAgLTI5LDEwICsyOSwxMyBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRlcmZhY2Ug
WwogICAgICAgICBDb25kaXRpb25hbD1TVkcsCiAgICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9u
LAotICAgICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QKKyAgICAgICAgSlNHZW5lcmF0ZVRv
TmF0aXZlT2JqZWN0LAorICAgICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogICAgIF0gU1ZHRWxl
bWVudEluc3RhbmNlCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VB
R0VfT0JKRUNUSVZFX0MKICAgICAgICAgOiBPYmplY3QsIEV2ZW50VGFyZ2V0CisjZWxzZQorICAg
ICAgICA6IEV2ZW50VGFyZ2V0CiAjZW5kaWYgLyogZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgKi8KICAgICB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdFbGVtZW50IGNvcnJl
c3BvbmRpbmdFbGVtZW50OwpAQCAtODYsMTUgKzg5LDYgQEAgbW9kdWxlIHN2ZyB7CiAgICAgICAg
IGF0dHJpYnV0ZSBbTm90RW51bWVyYWJsZV0gRXZlbnRMaXN0ZW5lciBvbnNlbGVjdHN0YXJ0Owog
ICAgICAgICBhdHRyaWJ1dGUgW05vdEVudW1lcmFibGVdIEV2ZW50TGlzdGVuZXIgb25zdWJtaXQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBbTm90RW51bWVyYWJsZV0gRXZlbnRMaXN0ZW5lciBvbnVubG9h
ZDsKLQotICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNl
Q2FwdHVyZSk7Ci0gICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcg
dHlwZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVy
IGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25h
bF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGlu
IEV2ZW50IGV2ZW50KQotICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKICNlbmRp
ZiAvKiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAqLwogICAgIH07CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146017</attachid>
            <date>2012-06-06 07:14:11 -0700</date>
            <delta_ts>2012-06-07 18:12:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88232-20120606231409.patch</filename>
            <type>text/plain</type>
            <size>17328</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM1OTkwNWI0NzdmYmEz
YmFiNmFlYzc4YWQ3N2U0NmVlOTFlYTRiYS4uOWQ2YzQ2OTY4OTQ5OTAzNDg2MzUyYmY5ZmE5Nzlj
M2Y1NzZkOGQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTA2LTA1ICBEb21p
bmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBTVkdFbGVtZW50
SW5zdGFuY2Ugc2hvdWxkIGhhdmUgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcgMS4xIHNw
ZWNpZmllcyB0aGF0IFNWR0VsZW1lbnRJbnN0YW5jZSBoYXMgRXZlbnRUYXJnZXQgYXMgaXRzCisg
ICAgICAgIHBhcmVudCBpbnRlcmZhY2U6CisgICAgICAgIDxodHRwOi8vd3d3LnczLm9yZy9UUi9T
Vkcvc3RydWN0Lmh0bWwjSW50ZXJmYWNlU1ZHRWxlbWVudEluc3RhbmNlPgorICAgICAgICBNYXRj
aCB0aGUgc3BlYyBieSBwdXR0aW5nIEV2ZW50VGFyZ2V0IG9uIHRoZSBwcm90b3R5cGUgY2hhaW4g
b2YKKyAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlIGluc3RlYWQgb2YgcmVkdW5kYW50bHkgZGVj
bGFyaW5nCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIsIHJlbW92ZUV2ZW50TGlzdGVuZXIgYW5k
IGRpc3BhdGNoRXZlbnQgb24gdGhlCisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZSBpbnRlcmZh
Y2UuIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc3RlcCB0byBtYWtlCisgICAgICAgIGFsbCBFdmVu
dFRhcmdldHMgZG8gaXQgdGhpcyB3YXksIGJlaW5nIHRyYWNrZWQgaW4gYnVnIDY3MzEyLgorCisg
ICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIGVnCisgICAgICAgIHN2Zy9jdXN0b20v
dXNlLWluc3RhbmNlUm9vdC1hcy1ldmVudC10YXJnZXQueGh0bWwKKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OiBGaW5kaW5nIGJhc2UgaW50ZXJmYWNlIHR5cGVzIHJlcXVpcmVzCisgICAgICAg
IHNlYXJjaGluZyBkaXJlY3RvcmllcyB3aXRoIHRoZSBJRExzIG9mIGJhc2UgaW50ZXJmYWNlcy4K
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiAiCisgICAgICAgICogYmluZGluZ3MvanMv
SlNFdmVudFRhcmdldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0V2ZW50VGFyZ2V0
KTogVHJ5IHRvIHVud3JhcCBFdmVudFRhcmdldHMgc2ltcGx5IGFzCisgICAgICAgIEV2ZW50VGFy
Z2V0cy4gV2hlbiBhbGwgRXZlbnRUYXJnZXRzIGRvIHRoaXMgY29uc2lzdGVudGx5IHRoaXMKKyAg
ICAgICAgZnVuY3Rpb24gd2lsbCBiZSBzaW1wbGlmaWVkLgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZH
RWxlbWVudEluc3RhbmNlOjp2aXNpdENoaWxkcmVuKTogU1ZHRWxlbWVudEluc3RhbmNlCisgICAg
ICAgIHNraXBzIHdhbGtpbmcgaXRzIGV2ZW50IGxpc3RlbmVyIGxpc3QgYmVjYXVzZSBpdCBmb3J3
YXJkcworICAgICAgICBsaXN0ZW5lcnMgdG8gaXRzIGNvcnJlc3BvbmRpbmcgZWxlbWVudC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChJc1N0
cmljdFN1YnR5cGUpOiBGb3IgZmluZGluZyB3aGF0IGlzIGFuIEV2ZW50VGFyZ2V0IGJhc2VkIG9u
CisgICAgICAgIHBhcmVudCBpbnRlcmZhY2UuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6IEV4dGVuZCB0aGUg
aGV1cmlzdGljIGZvciB3aGF0IGlzIGFuCisgICAgICAgIEV2ZW50VGFyZ2V0LiBXaGVuIGFsbCBF
dmVudFRhcmdldHMgYXJlIGhhbmRsZWQgY29uc2lzdGVudGx5IHRoaXMKKyAgICAgICAgd2lsbCBi
ZSBzaW1wbGlmaWVkLgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06IEV4dGVuZCB0aGUgaGV1cmlz
dGljIGZvcgorICAgICAgICB3aGF0IGlzIGFuIEV2ZW50VGFyZ2V0LCBhbmQgcmVtb3ZlIHNvbWUg
b2YgdGhlIHNwZWNpYWwtY2FzaW5nIGZvcgorICAgICAgICBFdmVudFRhcmdldC4KKyAgICAgICAg
KEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdldEludGVybmFsRmllbGRzKToKKyAgICAgICAg
KEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2V0TmF0aXZlVHlwZSk6CisgICAg
ICAgIChKU1ZhbHVlVG9OYXRpdmUpOgorICAgICAgICAoR2V0VjhIZWFkZXJOYW1lKToKKyAgICAg
ICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmg6IE11c3QgZXh0ZW5kIEV2ZW50VGFyZ2V0IGZp
cnN0IHNvIHRoYXQKKyAgICAgICAgc3RhdGljX2Nhc3Q8RXZlbnRUYXJnZXQqPihlbGVtZW50SW5z
dGFuY2UpIGlzIHRoZSBzYW1lIHBvaW50ZXIgYXMKKyAgICAgICAgZWxlbWVudEluc3RhbmNlLCBz
aW1pbGFyIHRvIGhvdyBzdGF0aWNfY2FzdDxOb2RlKj4oZWxlbWVudCkgaXMgdGhlCisgICAgICAg
IHNhbWUgcG9pbnRlciBhcyBlbGVtZW50LgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuaWRsOiBFeHRlbmQgRXZlbnRUYXJnZXQ7IG5vIGxvbmdlciBuZWVkCisgICAgICAgIHRvIGRl
Y2xhcmUgYWRkL3JlbW92ZUV2ZW50TGlzdGVuZXIgYW5kIGRpc3BhdGNoRXZlbnQuCisKIDIwMTIt
MDYtMDQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTk0MjEgYW5kIHIxMTk0MjUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IGNlYjFkYjQwNmNiMGFlNDY5NzE3OWM2ZWJlYjY1NGZkNGJkYTIzMGEu
LjEzYTk3MWY5NDJhZDk4MjM0ZGQ5NzA4OTFiODBjMDhlYzY0OTM5NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC05Myw5ICs5MywxNiBAQCBTRVQoV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVT
CiApCiAKIFNFVChXZWJDb3JlX0lETF9JTkNMVURFUworICAgIE1vZHVsZXMvYmF0dGVyeQogICAg
IE1vZHVsZXMvZmlsZXN5c3RlbQorICAgIE1vZHVsZXMvZ2FtZXBhZAogICAgIE1vZHVsZXMvZ2Vv
bG9jYXRpb24KICAgICBNb2R1bGVzL2luZGV4ZWRkYgorICAgIE1vZHVsZXMvaW50ZW50cworICAg
IE1vZHVsZXMvbWVkaWFzdHJlYW0KKyAgICBNb2R1bGVzL25ldHdvcmtpbmZvCisgICAgTW9kdWxl
cy9zcGVlY2gKKyAgICBNb2R1bGVzL3ZpYnJhdGlvbgogICAgIE1vZHVsZXMvd2ViYXVkaW8KICAg
ICBNb2R1bGVzL3dlYmRhdGFiYXNlCiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzCkBAIC0xMDUsOCAr
MTEyLDExIEBAIFNFVChXZWJDb3JlX0lETF9JTkNMVURFUwogICAgIGZpbGVhcGkKICAgICBodG1s
CiAgICAgaHRtbC9jYW52YXMKKyAgICBodG1sL3NoYWRvdworICAgIGh0bWwvdHJhY2sKICAgICBp
bnNwZWN0b3IKICAgICBsb2FkZXIvYXBwY2FjaGUKKyAgICBub3RpZmljYXRpb25zCiAgICAgcGFn
ZQogICAgIHBsdWdpbnMKICAgICBzdG9yYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAxMDJmYzlmMTg2NTIyNDM0ZjNkMmZhZTEyMzNjZTc3ZTdhOTVhMTQwLi4zMmJlYjc5MDVm
MmNlNWJhMWM3MDdiYjlmYjFiOGZjNjAzNjc5ZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTkzMywxNCArOTMzLDM1IEBAIHByZXByb2Nlc3NfaWRsc19zY3JpcHQgPSBwZXJs
ICQoYWRkcHJlZml4IC1JICQoV2ViQ29yZSkvLCAkKHNvcnQgJChkaXIgJCgxKSkpKSAkCiAjIEpT
IGJpbmRpbmdzIGdlbmVyYXRvcgogCiBJRExfSU5DTFVERVMgPSBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2JhdHRlcnkgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvZ2FtZXBhZCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dl
b2xvY2F0aW9uIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvaW50ZW50cyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbmV0d29ya2luZm8gXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9zcGVlY2ggXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy92aWJyYXRpb24gXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpbyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYmRhdGFiYXNlIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cyBcCisgICAg
JChXZWJDb3JlKS9jc3MgXAogICAgICQoV2ViQ29yZSkvZG9tIFwKICAgICAkKFdlYkNvcmUpL2Zp
bGVhcGkgXAogICAgICQoV2ViQ29yZSkvaHRtbCBcCi0gICAgJChXZWJDb3JlKS9jc3MgXAotICAg
ICQoV2ViQ29yZSkvcGFnZSBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcyBcCisgICAgJChX
ZWJDb3JlKS9odG1sL3NoYWRvdyBcCisgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrIFwKKyAgICAk
KFdlYkNvcmUpL2luc3BlY3RvciBcCisgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUgXAog
ICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucyBcCi0gICAgJChXZWJDb3JlKS94bWwgXAotICAg
ICQoV2ViQ29yZSkvc3ZnCisgICAgJChXZWJDb3JlKS9wYWdlIFwKKyAgICAkKFdlYkNvcmUpL3Bs
dWdpbnMgXAorICAgICQoV2ViQ29yZSkvc3RvcmFnZSBcCisgICAgJChXZWJDb3JlKS9zdmcgXAor
ICAgICQoV2ViQ29yZSkvd29ya2VycyBcCisgICAgJChXZWJDb3JlKS94bWwKIAogSURMX0NPTU1P
Tl9BUkdTID0gJChJRExfSU5DTFVERVM6JT0tLWluY2x1ZGUgJSkgLS13cml0ZS1kZXBlbmRlbmNp
ZXMgLS1vdXRwdXREaXIgLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRUYXJnZXRDdXN0b20uY3BwCmluZGV4IDY2ZTE1NzYxNWRiNTdlMzEwYWQzZDc5MDkwMjFk
Yjc5MTZkYTllMDUuLjgxMWE0MDQzMjlmNzU5NzJmZDc1OWJjZmExNDAxN2JhZjNkM2YzNzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20u
Y3BwCkBAIC03Myw2ICs3Myw3IEBAIEV2ZW50VGFyZ2V0KiB0b0V2ZW50VGFyZ2V0KEpTQzo6SlNW
YWx1ZSB2YWx1ZSkKICAgICBpZiAodmFsdWUuaW5oZXJpdHMoJkpTRE9NV2luZG93U2hlbGw6OnNf
aW5mbykpCiAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNET01XaW5kb3dTaGVsbCo+KGFzT2JqZWN0
KHZhbHVlKSktPmltcGwoKTsKIAorICAgIFRSWV9UT19VTldSQVBfV0lUSF9JTlRFUkZBQ0UoRXZl
bnRUYXJnZXQpCiAgICAgRE9NX0VWRU5UX1RBUkdFVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9U
T19VTldSQVBfV0lUSF9JTlRFUkZBQ0UpCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5j
cHAKaW5kZXggMjM1MzI2NDllYjlhOTEyYmQ2ZDVlOTJjZjhmNzE4YzYxODJmMDkwNS4uOGYyNjQ1
YTQ4ZTJmZGViYmNjMDY2ZGVmNmUyOGJkZTY3OTg1NDg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcApA
QCAtMzAsOCArMzAsNyBAQAogCiAjaW5jbHVkZSAiSlNTVkdFbGVtZW50SW5zdGFuY2UuaCIKIAot
I2luY2x1ZGUgIkpTTm9kZS5oIgotI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgorI2lu
Y2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw5IEBAIHZvaWQgSlNTVkdFbGVtZW50SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDOjpK
U0NlbGwqIGNlbGwsIEpTQzo6U2xvdFZpc2l0b3ImIHZpCiAgICAgQVNTRVJUX0dDX09CSkVDVF9J
TkhFUklUUyh0aGlzT2JqZWN0LCAmc19pbmZvKTsKICAgICBDT01QSUxFX0FTU0VSVChTdHJ1Y3R1
cmVGbGFncyAmIEpTQzo6T3ZlcnJpZGVzVmlzaXRDaGlsZHJlbiwgT3ZlcnJpZGVzVmlzaXRDaGls
ZHJlbldpdGhvdXRTZXR0aW5nRmxhZyk7CiAgICAgQVNTRVJUKHRoaXNPYmplY3QtPnN0cnVjdHVy
ZSgpLT50eXBlSW5mbygpLm92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4oKSk7Ci0gICAgQmFzZTo6dmlz
aXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKKyAgICAvLyBTa2lwIEpTRXZlbnRUYXJn
ZXQ6OnZpc2l0Q2hpbGRyZW4gYmVjYXVzZSBldmVudCBsaXN0ZW5lciByZWdpc3RyYXRpb24gaXMK
KyAgICAvLyBmb3J3YXJkZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudC4KKyAgICBKU0V2
ZW50VGFyZ2V0OjpCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwogICAg
IHZpc2l0b3IuYWRkT3BhcXVlUm9vdChyb290KHRoaXNPYmplY3QtPmltcGwoKS0+Y29ycmVzcG9u
ZGluZ0VsZW1lbnQoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggNDY5OGY3NDVmZDMwZmMyZTQwNmQwYTg1NDZlN2M3
YmQ1NjdhMGViNS4uM2ZmNDQ0ZTQ1OWM0NTNjMDczMGM2N2ZhZDMyMzQ5Yzg0Njc3N2JhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpA
QCAtNjkyLDQgKzY5MiwyMiBAQCBzdWIgR2V0VmlzaWJsZUludGVyZmFjZU5hbWUKICAgICByZXR1
cm4gJGludGVyZmFjZU5hbWUgPyAkaW50ZXJmYWNlTmFtZSA6ICRkYXRhTm9kZS0+bmFtZTsKIH0K
IAorc3ViIElzU3RyaWN0U3VidHlwZQoreworICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBt
eSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICBteSAkaW50ZXJmYWNlTmFtZSA9IHNoaWZ0OworICAg
IG15ICRmb3VuZCA9IDA7CisKKyAgICAkb2JqZWN0LT5Gb3JBbGxQYXJlbnRzKCRkYXRhTm9kZSwg
c3ViIHsKKyAgICAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OworICAgICAgICBpZiAoJG9iamVj
dC0+U3RyaXBNb2R1bGUoJGludGVyZmFjZS0+bmFtZSkgZXEgJGludGVyZmFjZU5hbWUpIHsKKyAg
ICAgICAgICAgICRmb3VuZCA9IDE7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuICJwcnVuZSIg
aWYgJGZvdW5kOworICAgIH0sIDAsIDEpOworCisgICAgcmV0dXJuICRmb3VuZDsKK30KKwogMTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KaW5kZXggMzdlNGYxY2QwOGZlM2I0YzZjOTUxNzNhNzM0M2RkYTEwNWRkMzE2ZS4uZWQ0YTNj
ZDhkNDc0ZDc5NTJkYmE3NGMzNDA5NDkxZTk3ZTA5Yzg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTY1MCw4ICs2NTAs
OCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBteSAkaGFzUmVhbFBhcmVudCA9IEB7JGRhdGFO
b2RlLT5wYXJlbnRzfSA+IDA7CiAgICAgbXkgJGhhc1BhcmVudCA9ICRoYXNMZWdhY3lQYXJlbnQg
fHwgJGhhc1JlYWxQYXJlbnQ7CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IEdldFBhcmVudENs
YXNzTmFtZSgkZGF0YU5vZGUpOwotICAgIG15ICRldmVudFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07Ci0gICAgbXkgJG5lZWRzTWFya0NoaWxk
cmVuID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rp
b24ifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9Owor
ICAgIG15ICRldmVudFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2
ZW50VGFyZ2V0In0gfHwgJGNvZGVHZW5lcmF0b3ItPklzU3RyaWN0U3VidHlwZSgkZGF0YU5vZGUs
ICJFdmVudFRhcmdldCIpOworICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tTWFya0Z1bmN0aW9uIn0gfHwgJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkZGF0YU5vZGUtPm5hbWUg
ZXEgIkV2ZW50VGFyZ2V0IjsKIAogICAgICMgLSBBZGQgZGVmYXVsdCBoZWFkZXIgdGVtcGxhdGUg
YW5kIGhlYWRlciBwcm90ZWN0aW9uCiAgICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwgR2Vu
ZXJhdGVIZWFkZXJDb250ZW50SGVhZGVyKCRkYXRhTm9kZSkpOwpAQCAtMTMzNiw4ICsxMzM2LDgg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBteSAkaGFzUGFyZW50ID0gJGhhc0xl
Z2FjeVBhcmVudCB8fCAkaGFzUmVhbFBhcmVudDsKICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0g
R2V0UGFyZW50Q2xhc3NOYW1lKCRkYXRhTm9kZSk7CiAgICAgbXkgJHZpc2libGVJbnRlcmZhY2VO
YW1lID0gJGNvZGVHZW5lcmF0b3ItPkdldFZpc2libGVJbnRlcmZhY2VOYW1lKCRkYXRhTm9kZSk7
Ci0gICAgbXkgJGV2ZW50VGFyZ2V0ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
RXZlbnRUYXJnZXQifTsKLSAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07CisgICAgbXkgJGV2ZW50VGFyZ2V0
ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkY29k
ZUdlbmVyYXRvci0+SXNTdHJpY3RTdWJ0eXBlKCRkYXRhTm9kZSwgIkV2ZW50VGFyZ2V0Iik7Cisg
ICAgbXkgJG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJFdmVudFRhcmdldCJ9IHx8ICRkYXRhTm9kZS0+bmFtZSBlcSAiRXZlbnRUYXJnZXQiOwog
CiAgICAgIyAtIEFkZCBkZWZhdWx0IGhlYWRlciB0ZW1wbGF0ZQogICAgIHB1c2goQGltcGxDb250
ZW50SGVhZGVyLCBHZW5lcmF0ZUltcGxlbWVudGF0aW9uQ29udGVudEhlYWRlcigkZGF0YU5vZGUp
KTsKQEAgLTIxODcsNyArMjE4Nyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBDT01QSUxFX0FTU0VSVChTdHJ1Y3R1cmVG
bGFncyAmIE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4sIE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW5XaXRo
b3V0U2V0dGluZ0ZsYWcpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBBU1NFUlQodGhpc09iamVjdC0+c3RydWN0dXJlKCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzVmlz
aXRDaGlsZHJlbigpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
QmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTtcbiIpOwotICAgICAgICAg
ICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0pIHsK
KyAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRh
cmdldCJ9IHx8ICRkYXRhTm9kZS0+bmFtZSBlcSAiRXZlbnRUYXJnZXQiKSB7CiAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgdGhpc09iamVjdC0+aW1wbCgpLT52aXNpdEpT
RXZlbnRMaXN0ZW5lcnModmlzaXRvcik7XG4iKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGlmICgkbnVtQ2FjaGVkQXR0cmlidXRlcyA+IDApIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggNjFiOTdiZTNkOTZlM2E5
YjkwZWM0YmM0YmVjNTkwZWI3NWU3YWVjYS4uYTJjNjUyNmEzZTRhYzI5M2NkMGQ3NzQwZjllZDU4
Y2IzOGVhM2QzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0KQEAgLTIzMCw4ICsyMzAsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIK
ICAgICBteSAkY2xhc3NOYW1lID0gIlY4JGludGVyZmFjZU5hbWUiOwogICAgIG15ICRpbXBsQ2xh
c3NOYW1lID0gJGludGVyZmFjZU5hbWU7CiAKLSAgICAjIENvcHkgY29udGVudHMgb2YgcGFyZW50
IGNsYXNzZXMgZXhjZXB0IHRoZSBmaXJzdCBwYXJlbnQgb3IgaWYgaXQgaXMKLSAgICAjIEV2ZW50
VGFyZ2V0LgorICAgICMgQ29weSBjb250ZW50cyBvZiBwYXJlbnQgY2xhc3NlcyBleGNlcHQgdGhl
IGZpcnN0IHBhcmVudC4KICAgICAkY29kZUdlbmVyYXRvci0+QWRkTWV0aG9kc0NvbnN0YW50c0Fu
ZEF0dHJpYnV0ZXNGcm9tUGFyZW50Q2xhc3NlcygkZGF0YU5vZGUsIFxAYWxsUGFyZW50cywgMSk7
CiAgICAgJGNvZGVHZW5lcmF0b3ItPkxpbmtPdmVybG9hZGVkRnVuY3Rpb25zKCRkYXRhTm9kZSk7
CiAKQEAgLTIzOSw3ICsyMzgsNiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBpZiAoISRoYXNE
ZXBlbmRlbnRMaWZldGltZSkgewogICAgICAgICBmb3JlYWNoIChAeyRkYXRhTm9kZS0+cGFyZW50
c30pIHsKICAgICAgICAgICAgIG15ICRwYXJlbnQgPSAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1
bGUoJF8pOwotICAgICAgICAgICAgbmV4dCBpZiAkcGFyZW50IGVxICJFdmVudFRhcmdldCI7CiAg
ICAgICAgICAgICAkaGVhZGVySW5jbHVkZXN7IlY4JHtwYXJlbnR9LmgifSA9IDE7CiAgICAgICAg
IH0KICAgICB9CkBAIC0zMDUsNyArMzAzLDYgQEAgRU5ECiAgICAgICAgIG15ICRzZXBhcmF0b3Ig
PSAiIjsKICAgICAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAg
ICAgICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKLSAgICAg
ICAgICAgIG5leHQgaWYgJHBhcmVudCBlcSAiRXZlbnRUYXJnZXQiOwogICAgICAgICAgICAgJGhl
YWRlckluY2x1ZGVzeyJWOCR7cGFyZW50fS5oIn0gPSAxOwogICAgICAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgIiR7c2VwYXJhdG9yfVY4JHtwYXJlbnR9OjpoYXNEZXBlbmRlbnRMaWZldGlt
ZSIpOwogICAgICAgICAgICAgJHNlcGFyYXRvciA9ICIgfHwgIjsKQEAgLTUxMSwxNCArNTA4LDEy
IEBAIHN1YiBHZXRJbnRlcm5hbEZpZWxkcwogICAgICMgV2UgY2FuJ3QgYXNrIHdoZXRoZXIgYSBw
YXJlbnQgdHlwZSBoYXMgYSBnaXZlbiBleHRlbmRlZEF0dHJpYnV0ZSwKICAgICAjIHNvIHNwZWNp
YWwtY2FzZSBBYnN0cmFjdFdvcmtlciBhbmQgV29ya2VyQ29udGV4dCB0byBpbmNsdWRlIGFsbCBz
dWItdHlwZXMuCiAgICAgIyBFdmVudCBsaXN0ZW5lcnMgb24gRE9NIG5vZGVzIGFyZSBleHBsaWNp
dGx5IHN1cHBvcnRlZCBpbiB0aGUgR0MgY29udHJvbGxlci4KLSAgICAjIEZJWE1FOiBTVkdFbGVt
ZW50SW5zdGFuY2Ugc2hvdWxkIHByb2JhYmx5IGhhdmUgdGhlIEV2ZW50VGFyZ2V0IGV4dGVuZGVk
IGF0dHJpYnV0ZSwgYnV0IGRvZXNuJ3QuCiAgICAgIyBGSVhNRTogU2ltcGxpZnkgdGhpcyB3aGVu
IGFsbCBFdmVudFRhcmdldHMgYXJlIHN1YnR5cGVzIG9mIEV2ZW50VGFyZ2V0LgogICAgIGlmICgh
SXNOb2RlU3ViVHlwZSgkZGF0YU5vZGUpCiAgICAgICAgICYmICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9CiAgICAgICAgICAgICB8fCAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJJc1dvcmtlckNvbnRleHQifQogICAgICAgICAgICAgfHwgSXNT
dWJUeXBlKCRkYXRhTm9kZSwgIkFic3RyYWN0V29ya2VyIikKLSAgICAgICAgICAgIHx8ICRuYW1l
IGVxICJTVkdFbGVtZW50SW5zdGFuY2UiCi0gICAgICAgICAgICB8fCAkbmFtZSBlcSAiRXZlbnRU
YXJnZXQiKSkgeworICAgICAgICAgICAgfHwgSXNTdWJUeXBlKCRkYXRhTm9kZSwgIkV2ZW50VGFy
Z2V0IikpKSB7CiAgICAgICAgIHB1c2goQGN1c3RvbUludGVybmFsRmllbGRzLCAiZXZlbnRMaXN0
ZW5lckNhY2hlSW5kZXgiKTsKICAgICB9CiAKQEAgLTI0MzMsOSArMjQyOCw2IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgbXkgJHBhcmVudENsYXNzVGVtcGxhdGUgPSAiIjsKICAg
ICBmb3JlYWNoIChAeyRkYXRhTm9kZS0+cGFyZW50c30pIHsKICAgICAgICAgbXkgJHBhcmVudCA9
ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7Ci0gICAgICAgIGlmICgkcGFyZW50IGVx
ICJFdmVudFRhcmdldCIpIHsKLSAgICAgICAgICAgIG5leHQ7Ci0gICAgICAgIH0KICAgICAgICAg
QWRkVG9JbXBsSW5jbHVkZXMoIlY4JHtwYXJlbnR9LmgiKTsKICAgICAgICAgJHBhcmVudENsYXNz
ID0gIlY4IiAuICRwYXJlbnQ7CiAgICAgICAgICRwYXJlbnRDbGFzc1RlbXBsYXRlID0gJHBhcmVu
dENsYXNzIC4gIjo6R2V0VGVtcGxhdGUoKSI7CkBAIC0zNDg1LDYgKzM0NzcsOCBAQCBzdWIgR2V0
TmF0aXZlVHlwZQogICAgIHJldHVybiAiUmFuZ2U6OkNvbXBhcmVIb3ciIGlmICR0eXBlIGVxICJD
b21wYXJlSG93IjsKICAgICByZXR1cm4gIkRPTVRpbWVTdGFtcCIgaWYgJHR5cGUgZXEgIkRPTVRp
bWVTdGFtcCI7CiAgICAgcmV0dXJuICJ1bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2lnbmVkIGlu
dCI7CisgICAgIyBUT0RPOiBXaGVuIEV2ZW50VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90
IGEgbWl4aW4sIGZpeCB0aGlzIHNvIHRoYXQKKyAgICAjIEV2ZW50VGFyZ2V0IGNhbiBiZSBwYXNz
ZWQgYXMgYSBwYXJhbWV0ZXIuCiAgICAgcmV0dXJuICJOb2RlKiIgaWYgJHR5cGUgZXEgIkV2ZW50
VGFyZ2V0IiBhbmQgJGlzUGFyYW1ldGVyOwogICAgIHJldHVybiAiZG91YmxlIiBpZiAkdHlwZSBl
cSAiRGF0ZSI7CiAgICAgcmV0dXJuICJTY3JpcHRWYWx1ZSIgaWYgJHR5cGUgZXEgIkRPTU9iamVj
dCI7CkBAIC0zNjEyLDYgKzM2MDYsOCBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgfQogCiAg
ICAgIyBEZWZhdWx0LCBhc3N1bWUgYXV0b2dlbmVyYXRlZCB0eXBlIGNvbnZlcnNpb24gcm91dGlu
ZXMKKyAgICAjIFRPRE86IFdoZW4gRXZlbnRUYXJnZXQgaXMgYW4gaW50ZXJmYWNlIGFuZCBub3Qg
YSBtaXhpbiwgZml4IHRoaXMgdG8gdXNlCisgICAgIyBWOEV2ZW50VGFyZ2V0OjpIYXNJbnN0YW5j
ZSBldGMuCiAgICAgaWYgKCR0eXBlIGVxICJFdmVudFRhcmdldCIpIHsKICAgICAgICAgQWRkVG9J
bXBsSW5jbHVkZXMoIlY4Tm9kZS5oIik7CiAKQEAgLTM2NTAsNyArMzY0Niw2IEBAIHN1YiBHZXRW
OEhlYWRlck5hbWUKICAgICBteSAkdHlwZSA9IHNoaWZ0OwogICAgIHJldHVybiAiVjhFdmVudC5o
IiBpZiAkdHlwZSBlcSAiRE9NVGltZVN0YW1wIjsKICAgICByZXR1cm4gIkV2ZW50TGlzdGVuZXIu
aCIgaWYgJHR5cGUgZXEgIkV2ZW50TGlzdGVuZXIiOwotICAgIHJldHVybiAiRXZlbnRUYXJnZXQu
aCIgaWYgJHR5cGUgZXEgIkV2ZW50VGFyZ2V0IjsKICAgICByZXR1cm4gIlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKICAgICByZXR1
cm4gIlNjcmlwdFZhbHVlLmgiIGlmICR0eXBlIGVxICJET01PYmplY3QiOwogICAgIHJldHVybiAi
VjhET01TdHJpbmdMaXN0LmgiIGlmICR0eXBlIGVxICJET01TdHJpbmdbXSI7CkBAIC0zNzM3LDYg
KzM3MzIsOCBAQCBteSAlbm9uX3dyYXBwZXJfdHlwZXMgPSAoCiAgICAgJ0RhdGUnID0+IDEsCiAg
ICAgJ0RpY3Rpb25hcnknID0+IDEsCiAgICAgJ0V2ZW50TGlzdGVuZXInID0+IDEsCisgICAgIyBU
T0RPOiBXaGVuIEV2ZW50VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90IGEgbWl4aW4sIGZp
eCB0aGlzIHNvIHRoYXQKKyAgICAjIEV2ZW50VGFyZ2V0IGlzIHRyZWF0ZWQgYXMgYSB3cmFwcGVy
IHR5cGUuCiAgICAgJ0V2ZW50VGFyZ2V0JyA9PiAxLAogICAgICdJREJLZXknID0+IDEsCiAgICAg
J0pTT2JqZWN0JyA9PiAxLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRJbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCmlu
ZGV4IDMxOWI5ZWRmOGViMjI5MzFmNjFhN2FmNGMyMmZjOWE2OGUzMWJjZmQuLmRjM2RiNWY0OWEy
NzE4ZGU1ZWJlYzM0M2M1Zjc3ZWFhMThmOTAxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmgKQEAgLTM4LDggKzM4LDggQEAgY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNl
TGlzdDsKIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiAKIC8vIFNWR0VsZW1lbnRJbnN0YW5jZSBt
aW1pY3MgTm9kZSwgYnV0IHdpdGhvdXQgcHJvdmlkaW5nIGFsbCBpdHMgZnVuY3Rpb25hbGl0eQot
Y2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlIDogcHVibGljIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudElu
c3RhbmNlPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBFdmVudFRhcmdldCB7
CitjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2UgOiBwdWJsaWMgRXZlbnRUYXJnZXQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgVHJlZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFuY2U+
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IGNy
ZWF0ZShTVkdVc2VFbGVtZW50KiBjb3JyZXNwb25kaW5nVXNlRWxlbWVudCwgU1ZHVXNlRWxlbWVu
dCogZGlyZWN0VXNlRWxlbWVudCwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1l
bnQpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAppbmRl
eCA5YzcxNzVjN2JmZTEwMjFmMjNmZDY3ZDY1OGUyYzc3MjE1ZDJmYTNlLi5kYjA4MWI5NjZhYWE1
NThlMTNmMDc3YzY2MDMzYzA3YzFmMjFiZDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmlkbApAQCAtMjksMTAgKzI5LDEzIEBAIG1vZHVsZSBzdmcgewogICAgIGlu
dGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgSlNDdXN0b21NYXJr
RnVuY3Rpb24sCi0gICAgICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAorICAgICAgICBKU0dl
bmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAgICAg
XSBTVkdFbGVtZW50SW5zdGFuY2UKICNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAm
JiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICA6IE9iamVjdCwgRXZlbnRUYXJnZXQKKyNl
bHNlCisgICAgICAgIDogRXZlbnRUYXJnZXQKICNlbmRpZiAvKiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKSAqLwogICAgIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0VsZW1l
bnQgY29ycmVzcG9uZGluZ0VsZW1lbnQ7CkBAIC04NiwxNSArODksNiBAQCBtb2R1bGUgc3ZnIHsK
ICAgICAgICAgYXR0cmlidXRlIFtOb3RFbnVtZXJhYmxlXSBFdmVudExpc3RlbmVyIG9uc2VsZWN0
c3RhcnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbTm90RW51bWVyYWJsZV0gRXZlbnRMaXN0ZW5lciBv
bnN1Ym1pdDsKICAgICAgICAgYXR0cmlidXRlIFtOb3RFbnVtZXJhYmxlXSBFdmVudExpc3RlbmVy
IG9udW5sb2FkOwotCi0gICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcg
dHlwZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxp
c3RlbmVyLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9v
bGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERP
TVN0cmluZyB0eXBlLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50
TGlzdGVuZXIgbGlzdGVuZXIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsXSBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICBib29sZWFuIGRpc3BhdGNo
RXZlbnQoaW4gRXZlbnQgZXZlbnQpCi0gICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRpb24p
OwogI2VuZGlmIC8qIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCiAgICAgfTsKIH0K
</data>
<flag name="review"
          id="153301"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156281</attachid>
            <date>2012-08-03 01:12:03 -0700</date>
            <delta_ts>2012-08-03 01:46:16 -0700</delta_ts>
            <desc>To run by bots</desc>
            <filename>bug-88232-20120803171143.patch</filename>
            <type>text/plain</type>
            <size>21412</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJmNWJlYWJmZjA3ZmQz
ZGNmZmIwMTllY2I5MDIzNWZmN2U3MTBlMS4uNzVmNjBmNzdkNzA4Yzg2YjkyZDhjODJjODY5MjMy
ZjUwYzcyZWYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTA4LTAyICBEb21p
bmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBTVkdFbGVtZW50
SW5zdGFuY2Ugc2hvdWxkIGhhdmUgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFNWRyAxLjEgc3BlY2lm
aWVzIHRoYXQgU1ZHRWxlbWVudEluc3RhbmNlIGhhcyBFdmVudFRhcmdldCBhcyBpdHMKKyAgICAg
ICAgcGFyZW50IGludGVyZmFjZToKKyAgICAgICAgPGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9z
dHJ1Y3QuaHRtbCNJbnRlcmZhY2VTVkdFbGVtZW50SW5zdGFuY2U+CisgICAgICAgIE1hdGNoIHRo
ZSBzcGVjIGJ5IHB1dHRpbmcgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbiBvZgor
ICAgICAgICBTVkdFbGVtZW50SW5zdGFuY2UgaW5zdGVhZCBvZiByZWR1bmRhbnRseSBkZWNsYXJp
bmcKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lciwgcmVtb3ZlRXZlbnRMaXN0ZW5lciBhbmQgZGlz
cGF0Y2hFdmVudCBvbiB0aGUKKyAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlIGludGVyZmFjZS4g
VGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBzdGVwIHRvIG1ha2UKKyAgICAgICAgYWxsIEV2ZW50VGFy
Z2V0cyBkbyBpdCB0aGlzIHdheSwgYmVpbmcgdHJhY2tlZCBpbiBidWcgNjczMTIuCisKKyAgICAg
ICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cywgZWcKKyAgICAgICAgc3ZnL2N1c3RvbS91c2Ut
aW5zdGFuY2VSb290LWFzLWV2ZW50LXRhcmdldC54aHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6IEZpbmRpbmcgYmFzZSBpbnRlcmZhY2UgdHlwZXMgcmVxdWlyZXMKKyAgICAgICAgc2Vh
cmNoaW5nIGRpcmVjdG9yaWVzIHdpdGggdGhlIElETHMgb2YgYmFzZSBpbnRlcmZhY2VzLgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6ICIKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50VGFyZ2V0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvRXZlbnRUYXJnZXQpOiBU
cnkgdG8gdW53cmFwIEV2ZW50VGFyZ2V0cyBzaW1wbHkgYXMKKyAgICAgICAgRXZlbnRUYXJnZXRz
LiBXaGVuIGFsbCBFdmVudFRhcmdldHMgZG8gdGhpcyBjb25zaXN0ZW50bHkgdGhpcworICAgICAg
ICBmdW5jdGlvbiB3aWxsIGJlIHNpbXBsaWZpZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNT
VkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNTVkdFbGVt
ZW50SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4pOiBTVkdFbGVtZW50SW5zdGFuY2UKKyAgICAgICAg
c2tpcHMgd2Fsa2luZyBpdHMgZXZlbnQgbGlzdGVuZXIgbGlzdCBiZWNhdXNlIGl0IGZvcndhcmRz
CisgICAgICAgIGxpc3RlbmVycyB0byBpdHMgY29ycmVzcG9uZGluZyBlbGVtZW50LgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKElzU3RyaWN0
U3VidHlwZSk6IEZvciBmaW5kaW5nIHdoYXQgaXMgYW4gRXZlbnRUYXJnZXQgYmFzZWQgb24KKyAg
ICAgICAgcGFyZW50IGludGVyZmFjZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKTogRXh0ZW5kIHRoZSBoZXVy
aXN0aWMgZm9yIHdoYXQgaXMgYW4KKyAgICAgICAgRXZlbnRUYXJnZXQuIFdoZW4gYWxsIEV2ZW50
VGFyZ2V0cyBhcmUgaGFuZGxlZCBjb25zaXN0ZW50bHkgdGhpcworICAgICAgICB3aWxsIGJlIHNp
bXBsaWZpZWQuCisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogRXh0ZW5kIHRoZSBoZXVyaXN0aWMg
Zm9yCisgICAgICAgIHdoYXQgaXMgYW4gRXZlbnRUYXJnZXQsIGFuZCByZW1vdmUgc29tZSBvZiB0
aGUgc3BlY2lhbC1jYXNpbmcgZm9yCisgICAgICAgIEV2ZW50VGFyZ2V0LgorICAgICAgICAoR2Vu
ZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2V0SW50ZXJuYWxGaWVsZHMpOgorICAgICAgICAoR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgIChCYXNlSW50ZXJmYWNlTmFtZSk6CisgICAg
ICAgIChHZW5lcmF0ZVRvVjhDb252ZXJ0ZXJzKToKKyAgICAgICAgKEdldE5hdGl2ZVR5cGUpOgor
ICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAgICAgKEdldFY4SGVhZGVyTmFtZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4RmxvYXQ2NEFycmF5Ojp3cmFwU2xvdyk6IEFkZCBhc3NlcnRpb25z
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4VGVzdE5vZGU6OndyYXBTbG93KToKKyAgICAgICAgKiBzdmcvU1ZH
RWxlbWVudEluc3RhbmNlLmg6IE11c3QgZXh0ZW5kIEV2ZW50VGFyZ2V0IGZpcnN0IHNvIHRoYXQK
KyAgICAgICAgc3RhdGljX2Nhc3Q8RXZlbnRUYXJnZXQqPihlbGVtZW50SW5zdGFuY2UpIGlzIHRo
ZSBzYW1lIHBvaW50ZXIgYXMKKyAgICAgICAgZWxlbWVudEluc3RhbmNlLCBzaW1pbGFyIHRvIGhv
dyBzdGF0aWNfY2FzdDxOb2RlKj4oZWxlbWVudCkgaXMgdGhlCisgICAgICAgIHNhbWUgcG9pbnRl
ciBhcyBlbGVtZW50LgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsOiBFeHRl
bmQgRXZlbnRUYXJnZXQ7IG5vIGxvbmdlciBuZWVkCisgICAgICAgIHRvIGRlY2xhcmUgYWRkL3Jl
bW92ZUV2ZW50TGlzdGVuZXIgYW5kIGRpc3BhdGNoRXZlbnQuCisKIDIwMTItMDgtMDMgIEt3YW5n
IFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBVbnJldmlld2VkIHIx
MjQ1MzYgZm9sbG93dXAsIGZpeCB0aGUgYXNzZXJ0aW9uIGVycm9yIG9uIENocm9taXVtLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAyNDExMWUyZmMwYzMyNjY5NmRhY2Q3YTRkZjE5YjE4YTAxZjk1
ZmRiLi45MDQ4OTc5MTZiYTM0YjgxYTVlNzcyZWNkYjgwYjdkMzgxNjMwMDQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMTA1LDExICsxMDUsMTcgQEAgU0VUKFdlYkNvcmVfSU5DTFVERV9ESVJF
Q1RPUklFUwogKQogCiBTRVQoV2ViQ29yZV9JRExfSU5DTFVERVMKKyAgICBNb2R1bGVzL2JhdHRl
cnkKICAgICBNb2R1bGVzL2ZpbGVzeXN0ZW0KICAgICBNb2R1bGVzL2dhbWVwYWQKICAgICBNb2R1
bGVzL2dlb2xvY2F0aW9uCiAgICAgTW9kdWxlcy9pbmRleGVkZGIKKyAgICBNb2R1bGVzL2ludGVu
dHMKKyAgICBNb2R1bGVzL21lZGlhc3RyZWFtCisgICAgTW9kdWxlcy9uZXR3b3JraW5mbwogICAg
IE1vZHVsZXMvcXVvdGEKKyAgICBNb2R1bGVzL3NwZWVjaAorICAgIE1vZHVsZXMvdmlicmF0aW9u
CiAgICAgTW9kdWxlcy93ZWJhdWRpbwogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UKICAgICBNb2R1
bGVzL3dlYnNvY2tldHMKQEAgLTExOSw4ICsxMjUsMTEgQEAgU0VUKFdlYkNvcmVfSURMX0lOQ0xV
REVTCiAgICAgZmlsZWFwaQogICAgIGh0bWwKICAgICBodG1sL2NhbnZhcworICAgIGh0bWwvc2hh
ZG93CisgICAgaHRtbC90cmFjawogICAgIGluc3BlY3RvcgogICAgIGxvYWRlci9hcHBjYWNoZQor
ICAgIG5vdGlmaWNhdGlvbnMKICAgICBwYWdlCiAgICAgcGx1Z2lucwogICAgIHN0b3JhZ2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDBjZjI5YmU5OGUzMTcyYzhmOWQ2NmE5YjE5
M2Q5MjVkOTBjNzc1ZGUuLjYzZmZiODBjM2IxMTM2NmJjMzI4YmU5YmI4ZDNkMDZhNTZhNDRkNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtOTU2LDE1ICs5NTYsMzYgQEAgcHJl
cHJvY2Vzc19pZGxzX3NjcmlwdCA9IHBlcmwgJChhZGRwcmVmaXggLUkgJChXZWJDb3JlKS8sICQo
c29ydCAkKGRpciAkKDEpKSkpICQKICMgSlMgYmluZGluZ3MgZ2VuZXJhdG9yCiAKIElETF9JTkNM
VURFUyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmF0dGVyeSBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL2ZpbGVzeXN0ZW0gXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24gXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9pbmRleGVkZGIgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbnRlbnRzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
ZWRpYXN0cmVhbSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25ldHdvcmtpbmZvIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3NwZWVjaCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3ZpYnJhdGlvbiBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJh
c2UgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzIFwKKyAgICAkKFdlYkNvcmUp
L2NzcyBcCiAgICAgJChXZWJDb3JlKS9kb20gXAogICAgICQoV2ViQ29yZSkvZmlsZWFwaSBcCiAg
ICAgJChXZWJDb3JlKS9odG1sIFwKLSAgICAkKFdlYkNvcmUpL2NzcyBcCi0gICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21lZGlhc291cmNlIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0
aW9ucyBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcyBcCisgICAgJChXZWJDb3JlKS9odG1s
L3NoYWRvdyBcCisgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrIFwKKyAgICAkKFdlYkNvcmUpL2lu
c3BlY3RvciBcCisgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUgXAogICAgICQoV2ViQ29y
ZSkvcGFnZSBcCi0gICAgJChXZWJDb3JlKS94bWwgXAotICAgICQoV2ViQ29yZSkvc3ZnCisgICAg
JChXZWJDb3JlKS9wbHVnaW5zIFwKKyAgICAkKFdlYkNvcmUpL3N0b3JhZ2UgXAorICAgICQoV2Vi
Q29yZSkvc3ZnIFwKKyAgICAkKFdlYkNvcmUpL3dvcmtlcnMgXAorICAgICQoV2ViQ29yZSkveG1s
CiAKIElETF9DT01NT05fQVJHUyA9ICQoSURMX0lOQ0xVREVTOiU9LS1pbmNsdWRlICUpIC0td3Jp
dGUtZGVwZW5kZW5jaWVzIC0tb3V0cHV0RGlyIC4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcAppbmRleCA2NmUxNTc2MTVkYjU3ZTMx
MGFkM2Q3OTA5MDIxZGI3OTE2ZGE5ZTA1Li4zNmM0OGY2NGE5ZGZhMjQyNTJhYWEyNmY5NGI5MTUw
ZmU1N2IwZjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0Q3VzdG9tLmNwcApAQCAtNzMsNiArNzMsOCBAQCBFdmVudFRhcmdldCogdG9FdmVudFRh
cmdldChKU0M6OkpTVmFsdWUgdmFsdWUpCiAgICAgaWYgKHZhbHVlLmluaGVyaXRzKCZKU0RPTVdp
bmRvd1NoZWxsOjpzX2luZm8pKQogICAgICAgICByZXR1cm4ganNDYXN0PEpTRE9NV2luZG93U2hl
bGwqPihhc09iamVjdCh2YWx1ZSkpLT5pbXBsKCk7CiAKKyAgICBUUllfVE9fVU5XUkFQX1dJVEhf
SU5URVJGQUNFKEV2ZW50VGFyZ2V0KQorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIGFs
bCBldmVudCB0YXJnZXRzIGV4dGVuZCBFdmVudFRhcmdldAogICAgIERPTV9FVkVOVF9UQVJHRVRf
SU5URVJGQUNFU19GT1JfRUFDSChUUllfVE9fVU5XUkFQX1dJVEhfSU5URVJGQUNFKQogICAgIHJl
dHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdF
bGVtZW50SW5zdGFuY2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
VkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCmluZGV4IDIzNTMyNjQ5ZWI5YTkxMmJkNmQ1ZTky
Y2Y4ZjcxOGM2MTgyZjA5MDUuLjhmMjY0NWE0OGUyZmRlYmJjYzA2NmRlZjZlMjhiZGU2Nzk4NTQ4
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudElu
c3RhbmNlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0Vs
ZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAKQEAgLTMwLDggKzMwLDcgQEAKIAogI2luY2x1ZGUgIkpT
U1ZHRWxlbWVudEluc3RhbmNlLmgiCiAKLSNpbmNsdWRlICJKU05vZGUuaCIKLSNpbmNsdWRlICJT
VkdFbGVtZW50SW5zdGFuY2UuaCIKKyNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyArNDAsOSBAQCB2b2lkIEpTU1ZHRWxlbWVudEluc3Rh
bmNlOjp2aXNpdENoaWxkcmVuKEpTQzo6SlNDZWxsKiBjZWxsLCBKU0M6OlNsb3RWaXNpdG9yJiB2
aQogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgJnNfaW5mbyk7CiAg
ICAgQ09NUElMRV9BU1NFUlQoU3RydWN0dXJlRmxhZ3MgJiBKU0M6Ok92ZXJyaWRlc1Zpc2l0Q2hp
bGRyZW4sIE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW5XaXRob3V0U2V0dGluZ0ZsYWcpOwogICAgIEFT
U0VSVCh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNWaXNpdENo
aWxkcmVuKCkpOwotICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7
CisgICAgLy8gU2tpcCBKU0V2ZW50VGFyZ2V0Ojp2aXNpdENoaWxkcmVuIGJlY2F1c2UgZXZlbnQg
bGlzdGVuZXIgcmVnaXN0cmF0aW9uIGlzCisgICAgLy8gZm9yd2FyZGVkIHRvIHRoZSBjb3JyZXNw
b25kaW5nIGVsZW1lbnQuCisgICAgSlNFdmVudFRhcmdldDo6QmFzZTo6dmlzaXRDaGlsZHJlbih0
aGlzT2JqZWN0LCB2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qocm9vdCh0aGlz
T2JqZWN0LT5pbXBsKCktPmNvcnJlc3BvbmRpbmdFbGVtZW50KCkpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDc0OGI0
ZTUxZWVhY2I4Yzk4MTBlNzJhNDY1NTM3ZTQwOWJhZTM4OTMuLmMzNGYwNjI4ZWI4MDgzMjZlNmUw
MDQyY2JmNDI3YWNmODhjZTY4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTcwOCw0ICs3MDgsMjIgQEAgc3ViIEdldFZpc2li
bGVJbnRlcmZhY2VOYW1lCiAgICAgcmV0dXJuICRpbnRlcmZhY2VOYW1lID8gJGludGVyZmFjZU5h
bWUgOiAkZGF0YU5vZGUtPm5hbWU7CiB9CiAKK3N1YiBJc1N0cmljdFN1YnR5cGUKK3sKKyAgICBt
eSAkb2JqZWN0ID0gc2hpZnQ7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgbXkgJGlu
dGVyZmFjZU5hbWUgPSBzaGlmdDsKKyAgICBteSAkZm91bmQgPSAwOworCisgICAgJG9iamVjdC0+
Rm9yQWxsUGFyZW50cygkZGF0YU5vZGUsIHN1YiB7CisgICAgICAgIG15ICRpbnRlcmZhY2UgPSBz
aGlmdDsKKyAgICAgICAgaWYgKCRvYmplY3QtPlN0cmlwTW9kdWxlKCRpbnRlcmZhY2UtPm5hbWUp
IGVxICRpbnRlcmZhY2VOYW1lKSB7CisgICAgICAgICAgICAkZm91bmQgPSAxOworICAgICAgICB9
CisgICAgICAgIHJldHVybiAicHJ1bmUiIGlmICRmb3VuZDsKKyAgICB9LCAwLCAxKTsKKworICAg
IHJldHVybiAkZm91bmQ7Cit9CisKIDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDFiNzk3YzAwNGNhMmU5ZmQwYzFmY2E0
NjkxZTc5ZTc5NWI5OWY0MzAuLmY0YWQ4NzNmNzJhY2I0YWRhODlhOTdmNjBjMmM3OWMxZDYzYjk5
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC02NzgsOCArNjc4LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgbXkg
JGhhc1JlYWxQYXJlbnQgPSBAeyRkYXRhTm9kZS0+cGFyZW50c30gPiAwOwogICAgIG15ICRoYXNQ
YXJlbnQgPSAkaGFzTGVnYWN5UGFyZW50IHx8ICRoYXNSZWFsUGFyZW50OwogICAgIG15ICRwYXJl
bnRDbGFzc05hbWUgPSBHZXRQYXJlbnRDbGFzc05hbWUoJGRhdGFOb2RlKTsKLSAgICBteSAkZXZl
bnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9
OwotICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTQ3VzdG9tTWFya0Z1bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiRXZlbnRUYXJnZXQifTsKKyAgICBteSAkbmVlZHNNYXJrQ2hpbGRyZW4gPSAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0gfHwgJGRhdGFOb2Rl
LT5uYW1lIGVxICJFdmVudFRhcmdldCI7CiAKICAgICAjIC0gQWRkIGRlZmF1bHQgaGVhZGVyIHRl
bXBsYXRlIGFuZCBoZWFkZXIgcHJvdGVjdGlvbgogICAgIHB1c2goQGhlYWRlckNvbnRlbnRIZWFk
ZXIsIEdlbmVyYXRlSGVhZGVyQ29udGVudEhlYWRlcigkZGF0YU5vZGUpKTsKQEAgLTEzNzUsOCAr
MTM3NCw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgbXkgJGhhc1BhcmVudCA9
ICRoYXNMZWdhY3lQYXJlbnQgfHwgJGhhc1JlYWxQYXJlbnQ7CiAgICAgbXkgJHBhcmVudENsYXNz
TmFtZSA9IEdldFBhcmVudENsYXNzTmFtZSgkZGF0YU5vZGUpOwogICAgIG15ICR2aXNpYmxlSW50
ZXJmYWNlTmFtZSA9ICRjb2RlR2VuZXJhdG9yLT5HZXRWaXNpYmxlSW50ZXJmYWNlTmFtZSgkZGF0
YU5vZGUpOwotICAgIG15ICRldmVudFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkV2ZW50VGFyZ2V0In07Ci0gICAgbXkgJG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OworICAgIG15ICRldmVu
dFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In0g
fHwgJGNvZGVHZW5lcmF0b3ItPklzU3RyaWN0U3VidHlwZSgkZGF0YU5vZGUsICJFdmVudFRhcmdl
dCIpOworICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkpTQ3VzdG9tTWFya0Z1bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifSB8fCAkZGF0YU5vZGUtPm5hbWUgZXEgIkV2ZW50VGFy
Z2V0IjsKIAogICAgICMgLSBBZGQgZGVmYXVsdCBoZWFkZXIgdGVtcGxhdGUKICAgICBwdXNoKEBp
bXBsQ29udGVudEhlYWRlciwgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkNvbnRlbnRIZWFkZXIoJGRh
dGFOb2RlKSk7CkBAIC0yMjY4LDcgKzIyNjcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQ09NUElMRV9BU1NFUlQoU3Ry
dWN0dXJlRmxhZ3MgJiBPdmVycmlkZXNWaXNpdENoaWxkcmVuLCBPdmVycmlkZXNWaXNpdENoaWxk
cmVuV2l0aG91dFNldHRpbmdGbGFnKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgQVNTRVJUKHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT50eXBlSW5mbygpLm92ZXJy
aWRlc1Zpc2l0Q2hpbGRyZW4oKSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7XG4iKTsKLSAg
ICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdl
dCJ9KSB7CisgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
RXZlbnRUYXJnZXQifSB8fCAkZGF0YU5vZGUtPm5hbWUgZXEgIkV2ZW50VGFyZ2V0IikgewogICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHRoaXNPYmplY3QtPmltcGwoKS0+
dmlzaXRKU0V2ZW50TGlzdGVuZXJzKHZpc2l0b3IpO1xuIik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAoJG51bUNhY2hlZEF0dHJpYnV0ZXMgPiAwKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDQ3NGM0NGU4
ZmExM2UzN2I5NDVmM2QxMjJlNTFjMDA0NmRiOWYzNzkuLjY0MjY0NzVjMjEyMGIzNDk0YmRhMDE5
ZTYyZDQxMjU1YzVkNGVlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0yODksOCArMjg5LDcgQEAgc3ViIEdlbmVyYXRl
SGVhZGVyCiAgICAgbXkgJGNsYXNzTmFtZSA9ICJWOCRpbnRlcmZhY2VOYW1lIjsKICAgICBteSAk
aW1wbENsYXNzTmFtZSA9ICRpbnRlcmZhY2VOYW1lOwogCi0gICAgIyBDb3B5IGNvbnRlbnRzIG9m
IHBhcmVudCBjbGFzc2VzIGV4Y2VwdCB0aGUgZmlyc3QgcGFyZW50IG9yIGlmIGl0IGlzCi0gICAg
IyBFdmVudFRhcmdldC4KKyAgICAjIENvcHkgY29udGVudHMgb2YgcGFyZW50IGNsYXNzZXMgZXhj
ZXB0IHRoZSBmaXJzdCBwYXJlbnQuCiAgICAgJGNvZGVHZW5lcmF0b3ItPkFkZE1ldGhvZHNDb25z
dGFudHNBbmRBdHRyaWJ1dGVzRnJvbVBhcmVudENsYXNzZXMoJGRhdGFOb2RlLCBcQGFsbFBhcmVu
dHMsIDEpOwogICAgICRjb2RlR2VuZXJhdG9yLT5MaW5rT3ZlcmxvYWRlZEZ1bmN0aW9ucygkZGF0
YU5vZGUpOwogCkBAIC0yOTksNyArMjk4LDYgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgaWYg
KCEkaGFzRGVwZW5kZW50TGlmZXRpbWUpIHsKICAgICAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUt
PnBhcmVudHN9KSB7CiAgICAgICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0
cmlwTW9kdWxlKCRfKTsKLSAgICAgICAgICAgIG5leHQgaWYgJHBhcmVudCBlcSAiRXZlbnRUYXJn
ZXQiOwogICAgICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyJWOCR7cGFyZW50fS5oIn0gPSAxOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMzY1LDcgKzM2Myw2IEBAIEVORAogICAgICAgICBteSAkc2Vw
YXJhdG9yID0gIiI7CiAgICAgICAgIGZvcmVhY2ggKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkgewog
ICAgICAgICAgICAgbXkgJHBhcmVudCA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7
Ci0gICAgICAgICAgICBuZXh0IGlmICRwYXJlbnQgZXEgIkV2ZW50VGFyZ2V0IjsKICAgICAgICAg
ICAgICRoZWFkZXJJbmNsdWRlc3siVjgke3BhcmVudH0uaCJ9ID0gMTsKICAgICAgICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICIke3NlcGFyYXRvcn1WOCR7cGFyZW50fTo6aGFzRGVwZW5kZW50
TGlmZXRpbWUiKTsKICAgICAgICAgICAgICRzZXBhcmF0b3IgPSAiIHx8ICI7CkBAIC01NjYsMTQg
KzU2MywxMiBAQCBzdWIgR2V0SW50ZXJuYWxGaWVsZHMKICAgICAjIFdlIGNhbid0IGFzayB3aGV0
aGVyIGEgcGFyZW50IHR5cGUgaGFzIGEgZ2l2ZW4gZXh0ZW5kZWRBdHRyaWJ1dGUsCiAgICAgIyBz
byBzcGVjaWFsLWNhc2UgQWJzdHJhY3RXb3JrZXIgYW5kIFdvcmtlckNvbnRleHQgdG8gaW5jbHVk
ZSBhbGwgc3ViLXR5cGVzLgogICAgICMgRXZlbnQgbGlzdGVuZXJzIG9uIERPTSBub2RlcyBhcmUg
ZXhwbGljaXRseSBzdXBwb3J0ZWQgaW4gdGhlIEdDIGNvbnRyb2xsZXIuCi0gICAgIyBGSVhNRTog
U1ZHRWxlbWVudEluc3RhbmNlIHNob3VsZCBwcm9iYWJseSBoYXZlIHRoZSBFdmVudFRhcmdldCBl
eHRlbmRlZCBhdHRyaWJ1dGUsIGJ1dCBkb2Vzbid0LgogICAgICMgRklYTUU6IFNpbXBsaWZ5IHRo
aXMgd2hlbiBhbGwgRXZlbnRUYXJnZXRzIGFyZSBzdWJ0eXBlcyBvZiBFdmVudFRhcmdldC4KICAg
ICBpZiAoIUlzTm9kZVN1YlR5cGUoJGRhdGFOb2RlKQogICAgICAgICAmJiAoJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifQogICAgICAgICAgICAgfHwgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNXb3JrZXJDb250ZXh0In0KICAgICAgICAgICAg
IHx8IElzU3ViVHlwZSgkZGF0YU5vZGUsICJBYnN0cmFjdFdvcmtlciIpCi0gICAgICAgICAgICB8
fCAkbmFtZSBlcSAiU1ZHRWxlbWVudEluc3RhbmNlIgotICAgICAgICAgICAgfHwgJG5hbWUgZXEg
IkV2ZW50VGFyZ2V0IikpIHsKKyAgICAgICAgICAgIHx8IElzU3ViVHlwZSgkZGF0YU5vZGUsICJF
dmVudFRhcmdldCIpKSkgewogICAgICAgICBwdXNoKEBjdXN0b21JbnRlcm5hbEZpZWxkcywgImV2
ZW50TGlzdGVuZXJDYWNoZUluZGV4Iik7CiAgICAgfQogCkBAIC0yNTE1LDkgKzI1MTAsNiBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIG15ICRwYXJlbnRDbGFzc1RlbXBsYXRlID0g
IiI7CiAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgIG15ICRw
YXJlbnQgPSAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoJF8pOwotICAgICAgICBpZiAoJHBh
cmVudCBlcSAiRXZlbnRUYXJnZXQiKSB7Ci0gICAgICAgICAgICBuZXh0OwotICAgICAgICB9CiAg
ICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJWOCR7cGFyZW50fS5oIik7CiAgICAgICAgICRwYXJl
bnRDbGFzcyA9ICJWOCIgLiAkcGFyZW50OwogICAgICAgICAkcGFyZW50Q2xhc3NUZW1wbGF0ZSA9
ICRwYXJlbnRDbGFzcyAuICI6OkdldFRlbXBsYXRlKCkiOwpAQCAtMzI3Myw2ICszMjY1LDE3IEBA
IEVORAogICAgIHB1c2goQGltcGxDb250ZW50LCAiI2VuZGlmIC8vICR7Y29uZGl0aW9uYWxTdHJp
bmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CiB9CiAKK3N1YiBCYXNlSW50ZXJmYWNlTmFt
ZQoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0OworCisgICAgd2hpbGUgKEB7JGRhdGFOb2Rl
LT5wYXJlbnRzfSkgeworICAgICAgICAkZGF0YU5vZGUgPSAkY29kZUdlbmVyYXRvci0+UGFyc2VJ
bnRlcmZhY2UoJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKEB7JGRhdGFOb2RlLT5wYXJlbnRz
fVswXSksIDEpOworICAgIH0KKworICAgIHJldHVybiAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1
bGUoJGRhdGFOb2RlLT5uYW1lKTsKK30KKwogc3ViIEdlbmVyYXRlVG9WOENvbnZlcnRlcnMKIHsK
ICAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKQEAgLTMyODQsNiArMzI4Nyw3IEBAIHN1YiBHZW5l
cmF0ZVRvVjhDb252ZXJ0ZXJzCiAgICAgbXkgJGZvcmNlTmV3T2JqZWN0SW5wdXQgPSBJc0RPTU5v
ZGVUeXBlKCRpbnRlcmZhY2VOYW1lKSA/ICIsIGJvb2wgZm9yY2VOZXdPYmplY3QiIDogIiI7CiAg
ICAgbXkgJGZvcmNlTmV3T2JqZWN0Q2FsbCA9IElzRE9NTm9kZVR5cGUoJGludGVyZmFjZU5hbWUp
ID8gIiwgZm9yY2VOZXdPYmplY3QiIDogIiI7CiAgICAgbXkgJHdyYXBTbG93QXJndW1lbnRUeXBl
ID0gR2V0UGFzc1JlZlB0clR5cGUoJG5hdGl2ZVR5cGUpOworICAgIG15ICRiYXNlVHlwZSA9IEJh
c2VJbnRlcmZhY2VOYW1lKCRkYXRhTm9kZSk7CiAKICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxF
TkQpOwogCkBAIC0zMjkxLDYgKzMyOTUsMTEgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiAke2Ns
YXNzTmFtZX06OndyYXBTbG93KCR7d3JhcFNsb3dBcmd1bWVudFR5cGV9IGltcGwsIHY4OjoKIHsK
ICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXI7CiBFTkQKKyAgICBpZiAoJGJhc2VU
eXBlIG5lICRpbnRlcmZhY2VOYW1lKSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVO
RCk7CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PHZvaWQqPihzdGF0aWNfY2FzdDwke2Jhc2VUeXBl
fSo+KGltcGwuZ2V0KCkpKSA9PSBzdGF0aWNfY2FzdDx2b2lkKj4oaW1wbC5nZXQoKSkpOworRU5E
CisgICAgfQogCiAgICAgbXkgJHByb3h5SW5pdDsKICAgICBpZiAoSXNOb2RlU3ViVHlwZSgkZGF0
YU5vZGUpKSB7CkBAIC0zNjI5LDYgKzM2MzgsOCBAQCBzdWIgR2V0TmF0aXZlVHlwZQogICAgIHJl
dHVybiAiUmFuZ2U6OkNvbXBhcmVIb3ciIGlmICR0eXBlIGVxICJDb21wYXJlSG93IjsKICAgICBy
ZXR1cm4gIkRPTVRpbWVTdGFtcCIgaWYgJHR5cGUgZXEgIkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0
dXJuICJ1bnNpZ25lZCIgaWYgJHR5cGUgZXEgInVuc2lnbmVkIGludCI7CisgICAgIyBGSVhNRTog
V2hlbiBFdmVudFRhcmdldCBpcyBhbiBpbnRlcmZhY2UgYW5kIG5vdCBhIG1peGluLCBmaXggdGhp
cyBzbyB0aGF0CisgICAgIyBFdmVudFRhcmdldCBjYW4gYmUgcGFzc2VkIGFzIGEgcGFyYW1ldGVy
LgogICAgIHJldHVybiAiTm9kZSoiIGlmICR0eXBlIGVxICJFdmVudFRhcmdldCIgYW5kICRpc1Bh
cmFtZXRlcjsKICAgICByZXR1cm4gImRvdWJsZSIgaWYgJHR5cGUgZXEgIkRhdGUiOwogICAgIHJl
dHVybiAiU2NyaXB0VmFsdWUiIGlmICR0eXBlIGVxICJET01PYmplY3QiOwpAQCAtMzc0Niw2ICsz
NzU3LDggQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgIH0KIAogICAgICMgRGVmYXVsdCwgYXNz
dW1lIGF1dG9nZW5lcmF0ZWQgdHlwZSBjb252ZXJzaW9uIHJvdXRpbmVzCisgICAgIyBGSVhNRTog
V2hlbiBFdmVudFRhcmdldCBpcyBhbiBpbnRlcmZhY2UgYW5kIG5vdCBhIG1peGluLCBmaXggdGhp
cyB0byB1c2UKKyAgICAjIFY4RXZlbnRUYXJnZXQ6Okhhc0luc3RhbmNlIGV0Yy4KICAgICBpZiAo
JHR5cGUgZXEgIkV2ZW50VGFyZ2V0IikgewogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjhO
b2RlLmgiKTsKIApAQCAtMzc4OSw3ICszODAyLDYgQEAgc3ViIEdldFY4SGVhZGVyTmFtZQogICAg
IG15ICR0eXBlID0gc2hpZnQ7CiAgICAgcmV0dXJuICJWOEV2ZW50LmgiIGlmICR0eXBlIGVxICJE
T01UaW1lU3RhbXAiOwogICAgIHJldHVybiAiRXZlbnRMaXN0ZW5lci5oIiBpZiAkdHlwZSBlcSAi
RXZlbnRMaXN0ZW5lciI7Ci0gICAgcmV0dXJuICJFdmVudFRhcmdldC5oIiBpZiAkdHlwZSBlcSAi
RXZlbnRUYXJnZXQiOwogICAgIHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiIGlmICR0
eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiOwogICAgIHJldHVybiAiU2NyaXB0VmFsdWUu
aCIgaWYgJHR5cGUgZXEgIkRPTU9iamVjdCI7CiAgICAgcmV0dXJuICJWOERPTVN0cmluZ0xpc3Qu
aCIgaWYgJHR5cGUgZXEgIkRPTVN0cmluZ1tdIjsKQEAgLTM4ODEsNiArMzg5Myw4IEBAIG15ICVu
b25fd3JhcHBlcl90eXBlcyA9ICgKICAgICAnRGF0ZScgPT4gMSwKICAgICAnRGljdGlvbmFyeScg
PT4gMSwKICAgICAnRXZlbnRMaXN0ZW5lcicgPT4gMSwKKyAgICAjIEZJWE1FOiBXaGVuIEV2ZW50
VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90IGEgbWl4aW4sIGZpeCB0aGlzIHNvIHRoYXQK
KyAgICAjIEV2ZW50VGFyZ2V0IGlzIHRyZWF0ZWQgYXMgYSB3cmFwcGVyIHR5cGUuCiAgICAgJ0V2
ZW50VGFyZ2V0JyA9PiAxLAogICAgICdJREJLZXknID0+IDEsCiAgICAgJ0pTT2JqZWN0JyA9PiAx
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXggNTJiYzkzMzgyMzU3MjI1NzQ1MGEyZWI0MDllY2E5
ZTg1ZGIwZDQzNy4uOTE4NmY3ODlmMmE0ZjM0NmIxNzIyZjAwYWM1ODU5NWQ4MGQzMjE0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2
NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhGbG9hdDY0QXJyYXkuY3BwCkBAIC0xMjQsNiArMTI0LDcgQEAgYm9vbCBWOEZsb2F0NjRBcnJh
eTo6SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQogdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBWOEZsb2F0NjRBcnJheTo6d3JhcFNsb3coUGFzc1JlZlB0cjxGbG9hdDY0QXJy
YXk+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gd3JhcHBlcjsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0
PEFycmF5QnVmZmVyVmlldyo+KGltcGwuZ2V0KCkpKSA9PSBzdGF0aWNfY2FzdDx2b2lkKj4oaW1w
bC5nZXQoKSkpOwogICAgIFY4UHJveHkqIHByb3h5ID0gMDsKICAgICB3cmFwcGVyID0gVjhET01X
cmFwcGVyOjppbnN0YW50aWF0ZVY4T2JqZWN0KHByb3h5LCAmaW5mbywgaW1wbC5nZXQoKSk7CiAg
ICAgaWYgKFVOTElLRUxZKHdyYXBwZXIuSXNFbXB0eSgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENv
bnN0cnVjdG9yLmNwcAppbmRleCBjYmM3YjZiYjY5N2NiNzI0ZTU4ZWU5NTg2MmJmYzQ0YjFkODVk
ODMzLi5iNGFmZDFmMmU4YTg5ZmZhYzQzYjE2MTBkYzBhNzUyNjgyNjU2ODhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6CiAgICAgaWYgKENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0
cnVjdG9yTW9kZTo6V3JhcEV4aXN0aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xk
ZXIoKTsKIAotICAgIEZyYW1lKiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JDdXJy
ZW50Q29udGV4dCgpOworICAgIEZyYW1lKiBmcmFtZSA9IGN1cnJlbnRGcmFtZShCaW5kaW5nU3Rh
dGU6Omluc3RhbmNlKCkpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBWOFByb3h5
Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiVGVzdE5hbWVkQ29uc3RydWN0
b3IgY29uc3RydWN0b3IgYXNzb2NpYXRlZCBmcmFtZSBpcyB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCmluZGV4IGFmYzUyMzgwZTljMWFlMzZjYWI4YWFlNzYz
NDlhYzNmNzM3YmQyNTkuLjNmOWVhODZlNjk5YjBmZDRlOTdmMmY5NDY3NGUyMDZkODM5OTZmMzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Tm9kZS5jcHAKQEAgLTExMiw2ICsxMTIsNyBAQCBib29sIFY4VGVzdE5vZGU6Okhhc0lu
c3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gVjhUZXN0Tm9kZTo6d3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0Tm9kZT4gaW1wbCwgdjg6Oklz
b2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyOwor
ICAgIEFTU0VSVChzdGF0aWNfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Tm9kZSo+KGltcGwuZ2V0
KCkpKSA9PSBzdGF0aWNfY2FzdDx2b2lkKj4oaW1wbC5nZXQoKSkpOwogICAgIFY4UHJveHkqIHBy
b3h5ID0gVjhQcm94eTo6cmV0cmlldmUoaW1wbC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSk7CiAKICAg
ICAvLyBFbnRlciB0aGUgbm9kZSdzIGNvbnRleHQgYW5kIGNyZWF0ZSB0aGUgd3JhcHBlciBpbiB0
aGF0IGNvbnRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKaW5kZXgg
MWM4OWM3Y2NkMWQyODk0MjQ0ZWZjNjhmMDA4YjUzYTczNjgzMmRiOC4uZjhlNDg5YjZiYTQzNTll
Yzc5NTk3OTdmNzIzYzUyNTk1NDQ2NDNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnRJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
SW5zdGFuY2UuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2VMaXN0
OwogY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIAogLy8gU1ZHRWxlbWVudEluc3RhbmNlIG1pbWlj
cyBOb2RlLCBidXQgd2l0aG91dCBwcm92aWRpbmcgYWxsIGl0cyBmdW5jdGlvbmFsaXR5Ci1jbGFz
cyBTVkdFbGVtZW50SW5zdGFuY2UgOiBwdWJsaWMgVHJlZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFu
Y2UsIFNWR0VsZW1lbnRJbnN0YW5jZT4sIHB1YmxpYyBFdmVudFRhcmdldCB7CitjbGFzcyBTVkdF
bGVtZW50SW5zdGFuY2UgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBUcmVlU2hhcmVkPFNW
R0VsZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPiB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZHVXNlRWxlbWVudCog
Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQs
IFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaWRsIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGwKaW5kZXggOWM3MTc1YzdiZmUxMDIxZjIz
ZmQ2N2Q2NThlMmM3NzIxNWQyZmEzZS4uZGIwODFiOTY2YWFhNTU4ZTEzZjA3N2M2NjAzM2MwN2Mx
ZjIxYmQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5j
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGwKQEAg
LTI5LDEwICsyOSwxMyBAQCBtb2R1bGUgc3ZnIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBD
b25kaXRpb25hbD1TVkcsCiAgICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAotICAgICAgICBK
U0dlbmVyYXRlVG9OYXRpdmVPYmplY3QKKyAgICAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0
LAorICAgICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogICAgIF0gU1ZHRWxlbWVudEluc3RhbmNl
CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MKICAgICAgICAgOiBPYmplY3QsIEV2ZW50VGFyZ2V0CisjZWxzZQorICAgICAgICA6IEV2ZW50
VGFyZ2V0CiAjZW5kaWYgLyogZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgKi8KICAgICB7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdFbGVtZW50IGNvcnJlc3BvbmRpbmdFbGVt
ZW50OwpAQCAtODYsMTUgKzg5LDYgQEAgbW9kdWxlIHN2ZyB7CiAgICAgICAgIGF0dHJpYnV0ZSBb
Tm90RW51bWVyYWJsZV0gRXZlbnRMaXN0ZW5lciBvbnNlbGVjdHN0YXJ0OwogICAgICAgICBhdHRy
aWJ1dGUgW05vdEVudW1lcmFibGVdIEV2ZW50TGlzdGVuZXIgb25zdWJtaXQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBbTm90RW51bWVyYWJsZV0gRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKLQotICAgICAg
ICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7Ci0g
ICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1
c2VDYXB0dXJlKTsKLSAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50
KQotICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKICNlbmRpZiAvKiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKSAqLwogICAgIH07CiB9Cg==
</data>
<flag name="commit-queue"
          id="165952"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156836</attachid>
            <date>2012-08-06 19:38:09 -0700</date>
            <delta_ts>2012-08-06 19:38:09 -0700</delta_ts>
            <desc>To run by bots</desc>
            <filename>bug-88232-20120807113744.patch</filename>
            <type>text/plain</type>
            <size>23532</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU2ODY3MmM5ODI5MTU3
MDYwZTdjZTkzMzVmODgxMzE2ODk1Y2RlZS4uNWQ2MWE3YjcwOTQwNTVmZWIxOTA2NDUyMmQwODA3
ZDVlZDQ1ZjFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTA4LTAyICBEb21p
bmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBTVkdFbGVtZW50
SW5zdGFuY2Ugc2hvdWxkIGhhdmUgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgyMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFNWRyAxLjEgc3BlY2lm
aWVzIHRoYXQgU1ZHRWxlbWVudEluc3RhbmNlIGhhcyBFdmVudFRhcmdldCBhcyBpdHMKKyAgICAg
ICAgcGFyZW50IGludGVyZmFjZToKKyAgICAgICAgPGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9z
dHJ1Y3QuaHRtbCNJbnRlcmZhY2VTVkdFbGVtZW50SW5zdGFuY2U+CisgICAgICAgIE1hdGNoIHRo
ZSBzcGVjIGJ5IHB1dHRpbmcgRXZlbnRUYXJnZXQgb24gdGhlIHByb3RvdHlwZSBjaGFpbiBvZgor
ICAgICAgICBTVkdFbGVtZW50SW5zdGFuY2UgaW5zdGVhZCBvZiByZWR1bmRhbnRseSBkZWNsYXJp
bmcKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lciwgcmVtb3ZlRXZlbnRMaXN0ZW5lciBhbmQgZGlz
cGF0Y2hFdmVudCBvbiB0aGUKKyAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlIGludGVyZmFjZS4g
VGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBzdGVwIHRvIG1ha2UKKyAgICAgICAgYWxsIEV2ZW50VGFy
Z2V0cyBkbyBpdCB0aGlzIHdheSwgYmVpbmcgdHJhY2tlZCBpbiBidWcgNjczMTIuCisKKyAgICAg
ICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cywgZWcKKyAgICAgICAgc3ZnL2N1c3RvbS91c2Ut
aW5zdGFuY2VSb290LWFzLWV2ZW50LXRhcmdldC54aHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6IEZpbmRpbmcgYmFzZSBpbnRlcmZhY2UgdHlwZXMgcmVxdWlyZXMKKyAgICAgICAgc2Vh
cmNoaW5nIGRpcmVjdG9yaWVzIHdpdGggdGhlIElETHMgb2YgYmFzZSBpbnRlcmZhY2VzLgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDogQWRkIGdlbmVyYXRlZCBKU0V2ZW50VGFyZ2V0LmNw
cC4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiAoU2VhcmNoIHBhdGhzIGFnYWluIC0t
IHNlZSBDTWFrZUxpc3RzLnR4dCkKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6ICIKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvRXZlbnRUYXJnZXQpOiBUcnkgdG8gdW53cmFwIEV2ZW50VGFyZ2V0cyBzaW1wbHkg
YXMKKyAgICAgICAgRXZlbnRUYXJnZXRzLiBXaGVuIGFsbCBFdmVudFRhcmdldHMgZG8gdGhpcyBj
b25zaXN0ZW50bHkgdGhpcworICAgICAgICBmdW5jdGlvbiB3aWxsIGJlIHNpbXBsaWZpZWQuCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNTVkdFbGVtZW50SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4pOiBTVkdF
bGVtZW50SW5zdGFuY2UKKyAgICAgICAgc2tpcHMgd2Fsa2luZyBpdHMgZXZlbnQgbGlzdGVuZXIg
bGlzdCBiZWNhdXNlIGl0IGZvcndhcmRzCisgICAgICAgIGxpc3RlbmVycyB0byBpdHMgY29ycmVz
cG9uZGluZyBlbGVtZW50LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbToKKyAgICAgICAgKElzU3RyaWN0U3VidHlwZSk6IEZvciBmaW5kaW5nIHdoYXQgaXMgYW4g
RXZlbnRUYXJnZXQgYmFzZWQgb24KKyAgICAgICAgcGFyZW50IGludGVyZmFjZS4KKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
SGVhZGVyKTogRXh0ZW5kIHRoZSBoZXVyaXN0aWMgZm9yIHdoYXQgaXMgYW4KKyAgICAgICAgRXZl
bnRUYXJnZXQuIFdoZW4gYWxsIEV2ZW50VGFyZ2V0cyBhcmUgaGFuZGxlZCBjb25zaXN0ZW50bHkg
dGhpcworICAgICAgICB3aWxsIGJlIHNpbXBsaWZpZWQuCisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bTogRXh0ZW5kIHRoZSBoZXVyaXN0aWMgZm9yCisgICAgICAgIHdoYXQgaXMgYW4gRXZlbnRUYXJn
ZXQsIGFuZCByZW1vdmUgc29tZSBvZiB0aGUgc3BlY2lhbC1jYXNpbmcgZm9yCisgICAgICAgIEV2
ZW50VGFyZ2V0LgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2V0SW50ZXJu
YWxGaWVsZHMpOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgIChC
YXNlSW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChHZW5lcmF0ZVRvVjhDb252ZXJ0ZXJzKToKKyAg
ICAgICAgKEdldE5hdGl2ZVR5cGUpOgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAg
ICAgKEdldFY4SGVhZGVyTmFtZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4RmxvYXQ2NEFycmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RmxvYXQ2NEFycmF5Ojp3
cmFwU2xvdyk6IEFkZCBhc3NlcnRpb25zLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3ROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE5vZGU6OndyYXBT
bG93KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmg6IE11c3QgZXh0ZW5kIEV2
ZW50VGFyZ2V0IGZpcnN0IHNvIHRoYXQKKyAgICAgICAgc3RhdGljX2Nhc3Q8RXZlbnRUYXJnZXQq
PihlbGVtZW50SW5zdGFuY2UpIGlzIHRoZSBzYW1lIHBvaW50ZXIgYXMKKyAgICAgICAgZWxlbWVu
dEluc3RhbmNlLCBzaW1pbGFyIHRvIGhvdyBzdGF0aWNfY2FzdDxOb2RlKj4oZWxlbWVudCkgaXMg
dGhlCisgICAgICAgIHNhbWUgcG9pbnRlciBhcyBlbGVtZW50LgorICAgICAgICAqIHN2Zy9TVkdF
bGVtZW50SW5zdGFuY2UuaWRsOiBFeHRlbmQgRXZlbnRUYXJnZXQ7IG5vIGxvbmdlciBuZWVkCisg
ICAgICAgIHRvIGRlY2xhcmUgYWRkL3JlbW92ZUV2ZW50TGlzdGVuZXIgYW5kIGRpc3BhdGNoRXZl
bnQuCisKIDIwMTItMDgtMDYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBKU0Mgc2hvdWxkIHVzZSBCaW5kaW5nU3RhdGUgdG8gZGV0ZXJtaW5lIHRoZSBhY3RpdmVE
T01XaW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGI4OGEwNTdhNmE0NzE5ZWFkOGM4ZTQy
OWQzYjg1NWY2ZTIxMThhMS4uYmI4MmIxYWEyOWRkNmMzMjdiODQ4MDQ4YTQ5YTFhZWJjNzRkNWM1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwNywxMSArMTA3LDE3IEBAIFNFVChXZWJDb3Jl
X0lOQ0xVREVfRElSRUNUT1JJRVMKICkKIAogU0VUKFdlYkNvcmVfSURMX0lOQ0xVREVTCisgICAg
TW9kdWxlcy9iYXR0ZXJ5CiAgICAgTW9kdWxlcy9maWxlc3lzdGVtCiAgICAgTW9kdWxlcy9nYW1l
cGFkCiAgICAgTW9kdWxlcy9nZW9sb2NhdGlvbgogICAgIE1vZHVsZXMvaW5kZXhlZGRiCisgICAg
TW9kdWxlcy9pbnRlbnRzCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbQorICAgIE1vZHVsZXMvbmV0
d29ya2luZm8KICAgICBNb2R1bGVzL3F1b3RhCisgICAgTW9kdWxlcy9zcGVlY2gKKyAgICBNb2R1
bGVzL3ZpYnJhdGlvbgogICAgIE1vZHVsZXMvd2ViYXVkaW8KICAgICBNb2R1bGVzL3dlYmRhdGFi
YXNlCiAgICAgTW9kdWxlcy93ZWJzb2NrZXRzCkBAIC0xMjEsOCArMTI3LDExIEBAIFNFVChXZWJD
b3JlX0lETF9JTkNMVURFUwogICAgIGZpbGVhcGkKICAgICBodG1sCiAgICAgaHRtbC9jYW52YXMK
KyAgICBodG1sL3NoYWRvdworICAgIGh0bWwvdHJhY2sKICAgICBpbnNwZWN0b3IKICAgICBsb2Fk
ZXIvYXBwY2FjaGUKKyAgICBub3RpZmljYXRpb25zCiAgICAgcGFnZQogICAgIHBsdWdpbnMKICAg
ICBzdG9yYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMGZhOGFjY2Y0OWIxMTdi
YzBkNWYwOGM4ZGMwY2Y4NDU5NzQ3ZWM5Yi4uYjcyNTY3MjE1ZTc2ZmM3YjFhN2FmODkzYTgwYWZk
YzUwMDNlMjg0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTE2LDYgKzExNiw3
IEBACiAjaW5jbHVkZSAiSlNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudEV4Y2VwdGlvbi5j
cHAiCiAjaW5jbHVkZSAiSlNFdmVudFNvdXJjZS5jcHAiCisjaW5jbHVkZSAiSlNFdmVudFRhcmdl
dC5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVDYWxsYmFjay5j
cHAiCiAjaW5jbHVkZSAiSlNGaWxlRW50cnkuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggNzRkZDRmM2QzNWZjZmQyNzkwM2M1OWM5ZjAyOTRmNDdlZDY3NzJkNS4uYzU3YWQ5
YmI5NmU5N2FmZjc0OWNmYjkyMWVmMDE0OTY5NWU1ZTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC05NTcsMTUgKzk1NywzNiBAQCBwcmVwcm9jZXNzX2lkbHNfc2NyaXB0ID0g
cGVybCAkKGFkZHByZWZpeCAtSSAkKFdlYkNvcmUpLywgJChzb3J0ICQoZGlyICQoMSkpKSkgJAog
IyBKUyBiaW5kaW5ncyBnZW5lcmF0b3IKIAogSURMX0lOQ0xVREVTID0gXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9iYXR0ZXJ5IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbSBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9nZW9sb2NhdGlvbiBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYiBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2ludGVudHMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YXNvdXJjZSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbmV0d29ya2luZm8gXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3BlZWNoIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvdmlicmF0aW9uIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8g
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnNvY2tldHMgXAorICAgICQoV2ViQ29yZSkvY3NzIFwKICAgICAkKFdlYkNvcmUp
L2RvbSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpIFwKICAgICAkKFdlYkNvcmUpL2h0bWwgXAot
ICAgICQoV2ViQ29yZSkvY3NzIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2Ug
XAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKKyAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93IFwKKyAgICAkKFdlYkNv
cmUpL2h0bWwvdHJhY2sgXAorICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yIFwKKyAgICAkKFdlYkNv
cmUpL2xvYWRlci9hcHBjYWNoZSBcCiAgICAgJChXZWJDb3JlKS9wYWdlIFwKLSAgICAkKFdlYkNv
cmUpL3htbCBcCi0gICAgJChXZWJDb3JlKS9zdmcKKyAgICAkKFdlYkNvcmUpL3BsdWdpbnMgXAor
ICAgICQoV2ViQ29yZSkvc3RvcmFnZSBcCisgICAgJChXZWJDb3JlKS9zdmcgXAorICAgICQoV2Vi
Q29yZSkvd29ya2VycyBcCisgICAgJChXZWJDb3JlKS94bWwKIAogSURMX0NPTU1PTl9BUkdTID0g
JChJRExfSU5DTFVERVM6JT0tLWluY2x1ZGUgJSkgLS13cml0ZS1kZXBlbmRlbmNpZXMgLS1vdXRw
dXREaXIgLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMTU2MmUyNTkwYzc3NmNk
ZjMyMzhhM2MxOTk4NzMyNGVlZDUzMTZjOS4uMjk3ZTU4OTA5NWE5ZmQzZjI2YzRhZDlmNWVhZjI3
OGFhZDdmYjQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNzA3LDE5ICs3MDcs
MzAgQEAgZ2VuZXJhdGVCaW5kaW5ncy5jb21tYW5kcyA9IHBlcmwgLUkkJFBXRC9iaW5kaW5ncy9z
Y3JpcHRzICQkZ2VuZXJhdGVCaW5kaW5ncy5zY3IKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLWluY2x1ZGUgJCRQV0QvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLWluY2x1ZGUgJCRQV0QvTW9kdWxlcy9nZW9sb2NhdGlvbiBcCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL01vZHVsZXMvaW5kZXhlZGRiIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluY2x1ZGUgJCRQV0QvTW9kdWxlcy9tZWRp
YXNvdXJjZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL01v
ZHVsZXMvbm90aWZpY2F0aW9ucyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNs
dWRlICQkUFdEL01vZHVsZXMvcXVvdGEgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t
aW5jbHVkZSAkJFBXRC9Nb2R1bGVzL3dlYmF1ZGlvIFwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtLWluY2x1ZGUgJCRQV0QvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL01vZHVsZXMvd2Vic29ja2V0cyBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL2NzcyBcCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL2RvbSBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL2VkaXRpbmcgXAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0taW5jbHVkZSAkJFBXRC9maWxlYXBpIFwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLWluY2x1ZGUgJCRQV0QvaHRtbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS1pbmNsdWRlICQkUFdEL3htbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1p
bmNsdWRlICQkUFdEL3N2ZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRl
ICQkUFdEL2h0bWwvY2FudmFzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluY2x1
ZGUgJCRQV0QvaHRtbC9zaGFkb3cgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5j
bHVkZSAkJFBXRC9odG1sL3RyYWNrIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWlu
Y2x1ZGUgJCRQV0QvaW5zcGVjdG9yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWlu
Y2x1ZGUgJCRQV0QvbG9hZGVyL2FwcGNhY2hlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLWluY2x1ZGUgJCRQV0QvcGFnZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1p
bmNsdWRlICQkUFdEL3BsdWdpbnMgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5j
bHVkZSAkJFBXRC9zdG9yYWdlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluY2x1
ZGUgJCRQV0QvY3NzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluY2x1ZGUgJCRQ
V0Qvc3ZnIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluY2x1ZGUgJCRQV0QvdGVz
dGluZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL3dlYnNv
Y2tldHMgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5jbHVkZSAkJFBXRC93b3Jr
ZXJzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluY2x1ZGUgJCRQV0QveG1sIFwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLW91dHB1dERpciAke1FNQUtFX0ZVTkNfRklM
RV9PVVRfUEFUSH0gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGUgJHtRTUFLRV9GVU5DX0ZJTEVfT1VUX1BBVEh9LyQkU1VQUExFTUVOVEFM
X0RFUEVOREVOQ1lfRklMRSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1wcmVwcm9j
ZXNzb3IgXCIkJHtRTUFLRV9NT0N9IC1FXCIgJHtRTUFLRV9GSUxFX05BTUV9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCmluZGV4IDY2
ZTE1NzYxNWRiNTdlMzEwYWQzZDc5MDkwMjFkYjc5MTZkYTllMDUuLjM2YzQ4ZjY0YTlkZmEyNDI1
MmFhYTI2Zjk0YjkxNTBmZTU3YjBmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCkBAIC03Myw2ICs3Myw4IEBAIEV2ZW50VGFy
Z2V0KiB0b0V2ZW50VGFyZ2V0KEpTQzo6SlNWYWx1ZSB2YWx1ZSkKICAgICBpZiAodmFsdWUuaW5o
ZXJpdHMoJkpTRE9NV2luZG93U2hlbGw6OnNfaW5mbykpCiAgICAgICAgIHJldHVybiBqc0Nhc3Q8
SlNET01XaW5kb3dTaGVsbCo+KGFzT2JqZWN0KHZhbHVlKSktPmltcGwoKTsKIAorICAgIFRSWV9U
T19VTldSQVBfV0lUSF9JTlRFUkZBQ0UoRXZlbnRUYXJnZXQpCisgICAgLy8gRklYTUU6IFJlbW92
ZSB0aGlzIG9uY2UgYWxsIGV2ZW50IHRhcmdldHMgZXh0ZW5kIEV2ZW50VGFyZ2V0CiAgICAgRE9N
X0VWRU5UX1RBUkdFVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19VTldSQVBfV0lUSF9JTlRF
UkZBQ0UpCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAKaW5kZXggMjM1MzI2NDll
YjlhOTEyYmQ2ZDVlOTJjZjhmNzE4YzYxODJmMDkwNS4uOGYyNjQ1YTQ4ZTJmZGViYmNjMDY2ZGVm
NmUyOGJkZTY3OTg1NDg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcApAQCAtMzAsOCArMzAsNyBAQAog
CiAjaW5jbHVkZSAiSlNTVkdFbGVtZW50SW5zdGFuY2UuaCIKIAotI2luY2x1ZGUgIkpTTm9kZS5o
IgotI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRXZlbnRUYXJn
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3ICs0MCw5IEBAIHZvaWQgSlNT
VkdFbGVtZW50SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDOjpKU0NlbGwqIGNlbGwsIEpTQzo6
U2xvdFZpc2l0b3ImIHZpCiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0
LCAmc19pbmZvKTsKICAgICBDT01QSUxFX0FTU0VSVChTdHJ1Y3R1cmVGbGFncyAmIEpTQzo6T3Zl
cnJpZGVzVmlzaXRDaGlsZHJlbiwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbldpdGhvdXRTZXR0aW5n
RmxhZyk7CiAgICAgQVNTRVJUKHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT50eXBlSW5mbygpLm92
ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4oKSk7Ci0gICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2Jq
ZWN0LCB2aXNpdG9yKTsKKyAgICAvLyBTa2lwIEpTRXZlbnRUYXJnZXQ6OnZpc2l0Q2hpbGRyZW4g
YmVjYXVzZSBldmVudCBsaXN0ZW5lciByZWdpc3RyYXRpb24gaXMKKyAgICAvLyBmb3J3YXJkZWQg
dG8gdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudC4KKyAgICBKU0V2ZW50VGFyZ2V0OjpCYXNlOjp2
aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYWRkT3BhcXVl
Um9vdChyb290KHRoaXNPYmplY3QtPmltcGwoKS0+Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSkpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3Iu
cG0KaW5kZXggNzQ4YjRlNTFlZWFjYjhjOTgxMGU3MmE0NjU1MzdlNDA5YmFlMzg5My4uYzM0ZjA2
MjhlYjgwODMyNmU2ZTAwNDJjYmY0MjdhY2Y4OGNlNjgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtNzA4LDQgKzcwOCwyMiBA
QCBzdWIgR2V0VmlzaWJsZUludGVyZmFjZU5hbWUKICAgICByZXR1cm4gJGludGVyZmFjZU5hbWUg
PyAkaW50ZXJmYWNlTmFtZSA6ICRkYXRhTm9kZS0+bmFtZTsKIH0KIAorc3ViIElzU3RyaWN0U3Vi
dHlwZQoreworICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlm
dDsKKyAgICBteSAkaW50ZXJmYWNlTmFtZSA9IHNoaWZ0OworICAgIG15ICRmb3VuZCA9IDA7CisK
KyAgICAkb2JqZWN0LT5Gb3JBbGxQYXJlbnRzKCRkYXRhTm9kZSwgc3ViIHsKKyAgICAgICAgbXkg
JGludGVyZmFjZSA9IHNoaWZ0OworICAgICAgICBpZiAoJG9iamVjdC0+U3RyaXBNb2R1bGUoJGlu
dGVyZmFjZS0+bmFtZSkgZXEgJGludGVyZmFjZU5hbWUpIHsKKyAgICAgICAgICAgICRmb3VuZCA9
IDE7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuICJwcnVuZSIgaWYgJGZvdW5kOworICAgIH0s
IDAsIDEpOworCisgICAgcmV0dXJuICRmb3VuZDsKK30KKwogMTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMDZiOGI0MzI2
NGIzMjNiZGY2ZTlmMmRlMTMwMDQxNjY5NjFhNzdkYi4uNjc0NWFmOGJlZjVlYzBlOTU0YjRjMjdk
YTQyYTFjMTczYWRiZjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTY3OCw4ICs2NzgsNyBAQCBzdWIgR2VuZXJhdGVI
ZWFkZXIKICAgICBteSAkaGFzUmVhbFBhcmVudCA9IEB7JGRhdGFOb2RlLT5wYXJlbnRzfSA+IDA7
CiAgICAgbXkgJGhhc1BhcmVudCA9ICRoYXNMZWdhY3lQYXJlbnQgfHwgJGhhc1JlYWxQYXJlbnQ7
CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IEdldFBhcmVudENsYXNzTmFtZSgkZGF0YU5vZGUp
OwotICAgIG15ICRldmVudFRhcmdldCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkV2ZW50VGFyZ2V0In07Ci0gICAgbXkgJG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OworICAgIG15ICRuZWVkc01hcmtD
aGlsZHJlbiA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tTWFya0Z1
bmN0aW9uIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQi
fSB8fCAkZGF0YU5vZGUtPm5hbWUgZXEgIkV2ZW50VGFyZ2V0IjsKIAogICAgICMgLSBBZGQgZGVm
YXVsdCBoZWFkZXIgdGVtcGxhdGUgYW5kIGhlYWRlciBwcm90ZWN0aW9uCiAgICAgcHVzaChAaGVh
ZGVyQ29udGVudEhlYWRlciwgR2VuZXJhdGVIZWFkZXJDb250ZW50SGVhZGVyKCRkYXRhTm9kZSkp
OwpAQCAtMTM3NSw4ICsxMzc0LDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBt
eSAkaGFzUGFyZW50ID0gJGhhc0xlZ2FjeVBhcmVudCB8fCAkaGFzUmVhbFBhcmVudDsKICAgICBt
eSAkcGFyZW50Q2xhc3NOYW1lID0gR2V0UGFyZW50Q2xhc3NOYW1lKCRkYXRhTm9kZSk7CiAgICAg
bXkgJHZpc2libGVJbnRlcmZhY2VOYW1lID0gJGNvZGVHZW5lcmF0b3ItPkdldFZpc2libGVJbnRl
cmZhY2VOYW1lKCRkYXRhTm9kZSk7Ci0gICAgbXkgJGV2ZW50VGFyZ2V0ID0gJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiRXZlbnRUYXJnZXQifTsKLSAgICBteSAkbmVlZHNNYXJrQ2hp
bGRyZW4gPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbU1hcmtGdW5j
dGlvbiJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07
CisgICAgbXkgJGV2ZW50VGFyZ2V0ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
RXZlbnRUYXJnZXQifSB8fCAkY29kZUdlbmVyYXRvci0+SXNTdHJpY3RTdWJ0eXBlKCRkYXRhTm9k
ZSwgIkV2ZW50VGFyZ2V0Iik7CisgICAgbXkgJG5lZWRzTWFya0NoaWxkcmVuID0gJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21NYXJrRnVuY3Rpb24ifSB8fCAkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9IHx8ICRkYXRhTm9kZS0+bmFt
ZSBlcSAiRXZlbnRUYXJnZXQiOwogCiAgICAgIyAtIEFkZCBkZWZhdWx0IGhlYWRlciB0ZW1wbGF0
ZQogICAgIHB1c2goQGltcGxDb250ZW50SGVhZGVyLCBHZW5lcmF0ZUltcGxlbWVudGF0aW9uQ29u
dGVudEhlYWRlcigkZGF0YU5vZGUpKTsKQEAgLTIyNjgsNyArMjI2Nyw3IEBAIHN1YiBHZW5lcmF0
ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBDT01Q
SUxFX0FTU0VSVChTdHJ1Y3R1cmVGbGFncyAmIE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4sIE92ZXJy
aWRlc1Zpc2l0Q2hpbGRyZW5XaXRob3V0U2V0dGluZ0ZsYWcpO1xuIik7CiAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlQodGhpc09iamVjdC0+c3RydWN0dXJlKCktPnR5
cGVJbmZvKCkub3ZlcnJpZGVzVmlzaXRDaGlsZHJlbigpKTtcbiIpOwogICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNp
dG9yKTtcbiIpOwotICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkV2ZW50VGFyZ2V0In0pIHsKKyAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9IHx8ICRkYXRhTm9kZS0+bmFtZSBlcSAiRXZlbnRU
YXJnZXQiKSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgdGhpc09i
amVjdC0+aW1wbCgpLT52aXNpdEpTRXZlbnRMaXN0ZW5lcnModmlzaXRvcik7XG4iKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmICgkbnVtQ2FjaGVkQXR0cmlidXRlcyA+IDApIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0K
aW5kZXggNmYxNmZlYzhmNTM4MDY0YjJiZTk2MTVkOTUyZTAxOWY1MjA5YWI4NC4uZjc5MDAyMmUz
NWI1NmFiNjBkMjFlOWQ4MGNlMTg4Yzg5ZTdlMGVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTI4OSw4ICsyODksNyBA
QCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBteSAkY2xhc3NOYW1lID0gIlY4JGludGVyZmFjZU5h
bWUiOwogICAgIG15ICRpbXBsQ2xhc3NOYW1lID0gJGludGVyZmFjZU5hbWU7CiAKLSAgICAjIENv
cHkgY29udGVudHMgb2YgcGFyZW50IGNsYXNzZXMgZXhjZXB0IHRoZSBmaXJzdCBwYXJlbnQgb3Ig
aWYgaXQgaXMKLSAgICAjIEV2ZW50VGFyZ2V0LgorICAgICMgQ29weSBjb250ZW50cyBvZiBwYXJl
bnQgY2xhc3NlcyBleGNlcHQgdGhlIGZpcnN0IHBhcmVudC4KICAgICAkY29kZUdlbmVyYXRvci0+
QWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tUGFyZW50Q2xhc3NlcygkZGF0YU5v
ZGUsIFxAYWxsUGFyZW50cywgMSk7CiAgICAgJGNvZGVHZW5lcmF0b3ItPkxpbmtPdmVybG9hZGVk
RnVuY3Rpb25zKCRkYXRhTm9kZSk7CiAKQEAgLTI5OSw3ICsyOTgsNiBAQCBzdWIgR2VuZXJhdGVI
ZWFkZXIKICAgICBpZiAoISRoYXNEZXBlbmRlbnRMaWZldGltZSkgewogICAgICAgICBmb3JlYWNo
IChAeyRkYXRhTm9kZS0+cGFyZW50c30pIHsKICAgICAgICAgICAgIG15ICRwYXJlbnQgPSAkY29k
ZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoJF8pOwotICAgICAgICAgICAgbmV4dCBpZiAkcGFyZW50
IGVxICJFdmVudFRhcmdldCI7CiAgICAgICAgICAgICAkaGVhZGVySW5jbHVkZXN7IlY4JHtwYXJl
bnR9LmgifSA9IDE7CiAgICAgICAgIH0KICAgICB9CkBAIC0zNjUsNyArMzYzLDYgQEAgRU5ECiAg
ICAgICAgIG15ICRzZXBhcmF0b3IgPSAiIjsKICAgICAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUt
PnBhcmVudHN9KSB7CiAgICAgICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0
cmlwTW9kdWxlKCRfKTsKLSAgICAgICAgICAgIG5leHQgaWYgJHBhcmVudCBlcSAiRXZlbnRUYXJn
ZXQiOwogICAgICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyJWOCR7cGFyZW50fS5oIn0gPSAxOwog
ICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiR7c2VwYXJhdG9yfVY4JHtwYXJlbnR9
OjpoYXNEZXBlbmRlbnRMaWZldGltZSIpOwogICAgICAgICAgICAgJHNlcGFyYXRvciA9ICIgfHwg
IjsKQEAgLTU2NiwxNCArNTYzLDEyIEBAIHN1YiBHZXRJbnRlcm5hbEZpZWxkcwogICAgICMgV2Ug
Y2FuJ3QgYXNrIHdoZXRoZXIgYSBwYXJlbnQgdHlwZSBoYXMgYSBnaXZlbiBleHRlbmRlZEF0dHJp
YnV0ZSwKICAgICAjIHNvIHNwZWNpYWwtY2FzZSBBYnN0cmFjdFdvcmtlciBhbmQgV29ya2VyQ29u
dGV4dCB0byBpbmNsdWRlIGFsbCBzdWItdHlwZXMuCiAgICAgIyBFdmVudCBsaXN0ZW5lcnMgb24g
RE9NIG5vZGVzIGFyZSBleHBsaWNpdGx5IHN1cHBvcnRlZCBpbiB0aGUgR0MgY29udHJvbGxlci4K
LSAgICAjIEZJWE1FOiBTVkdFbGVtZW50SW5zdGFuY2Ugc2hvdWxkIHByb2JhYmx5IGhhdmUgdGhl
IEV2ZW50VGFyZ2V0IGV4dGVuZGVkIGF0dHJpYnV0ZSwgYnV0IGRvZXNuJ3QuCiAgICAgIyBGSVhN
RTogU2ltcGxpZnkgdGhpcyB3aGVuIGFsbCBFdmVudFRhcmdldHMgYXJlIHN1YnR5cGVzIG9mIEV2
ZW50VGFyZ2V0LgogICAgIGlmICghSXNOb2RlU3ViVHlwZSgkZGF0YU5vZGUpCiAgICAgICAgICYm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9CiAgICAgICAg
ICAgICB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJc1dvcmtlckNvbnRleHQi
fQogICAgICAgICAgICAgfHwgSXNTdWJUeXBlKCRkYXRhTm9kZSwgIkFic3RyYWN0V29ya2VyIikK
LSAgICAgICAgICAgIHx8ICRuYW1lIGVxICJTVkdFbGVtZW50SW5zdGFuY2UiCi0gICAgICAgICAg
ICB8fCAkbmFtZSBlcSAiRXZlbnRUYXJnZXQiKSkgeworICAgICAgICAgICAgfHwgSXNTdWJUeXBl
KCRkYXRhTm9kZSwgIkV2ZW50VGFyZ2V0IikpKSB7CiAgICAgICAgIHB1c2goQGN1c3RvbUludGVy
bmFsRmllbGRzLCAiZXZlbnRMaXN0ZW5lckNhY2hlSW5kZXgiKTsKICAgICB9CiAKQEAgLTI1MTUs
OSArMjUxMCw2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgbXkgJHBhcmVudENs
YXNzVGVtcGxhdGUgPSAiIjsKICAgICBmb3JlYWNoIChAeyRkYXRhTm9kZS0+cGFyZW50c30pIHsK
ICAgICAgICAgbXkgJHBhcmVudCA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7Ci0g
ICAgICAgIGlmICgkcGFyZW50IGVxICJFdmVudFRhcmdldCIpIHsKLSAgICAgICAgICAgIG5leHQ7
Ci0gICAgICAgIH0KICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIlY4JHtwYXJlbnR9LmgiKTsK
ICAgICAgICAgJHBhcmVudENsYXNzID0gIlY4IiAuICRwYXJlbnQ7CiAgICAgICAgICRwYXJlbnRD
bGFzc1RlbXBsYXRlID0gJHBhcmVudENsYXNzIC4gIjo6R2V0VGVtcGxhdGUoKSI7CkBAIC0zMjcz
LDYgKzMyNjUsMTcgQEAgRU5ECiAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWYgLy8gJHtj
b25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKIH0KIAorc3ViIEJh
c2VJbnRlcmZhY2VOYW1lCit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisKKyAgICB3aGls
ZSAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CisgICAgICAgICRkYXRhTm9kZSA9ICRjb2RlR2Vu
ZXJhdG9yLT5QYXJzZUludGVyZmFjZSgkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoQHskZGF0
YU5vZGUtPnBhcmVudHN9WzBdKSwgMSk7CisgICAgfQorCisgICAgcmV0dXJuICRjb2RlR2VuZXJh
dG9yLT5TdHJpcE1vZHVsZSgkZGF0YU5vZGUtPm5hbWUpOworfQorCiBzdWIgR2VuZXJhdGVUb1Y4
Q29udmVydGVycwogewogICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0OwpAQCAtMzI4NCw2ICszMjg3
LDcgQEAgc3ViIEdlbmVyYXRlVG9WOENvbnZlcnRlcnMKICAgICBteSAkZm9yY2VOZXdPYmplY3RJ
bnB1dCA9IElzRE9NTm9kZVR5cGUoJGludGVyZmFjZU5hbWUpID8gIiwgYm9vbCBmb3JjZU5ld09i
amVjdCIgOiAiIjsKICAgICBteSAkZm9yY2VOZXdPYmplY3RDYWxsID0gSXNET01Ob2RlVHlwZSgk
aW50ZXJmYWNlTmFtZSkgPyAiLCBmb3JjZU5ld09iamVjdCIgOiAiIjsKICAgICBteSAkd3JhcFNs
b3dBcmd1bWVudFR5cGUgPSBHZXRQYXNzUmVmUHRyVHlwZSgkbmF0aXZlVHlwZSk7CisgICAgbXkg
JGJhc2VUeXBlID0gQmFzZUludGVyZmFjZU5hbWUoJGRhdGFOb2RlKTsKIAogICAgIHB1c2goQGlt
cGxDb250ZW50LCA8PEVORCk7CiAKQEAgLTMyOTEsNiArMzI5NSwxMSBAQCB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+ICR7Y2xhc3NOYW1lfTo6d3JhcFNsb3coJHt3cmFwU2xvd0FyZ3VtZW50VHlwZX0g
aW1wbCwgdjg6OgogewogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlcjsKIEVORAor
ICAgIGlmICgkYmFzZVR5cGUgbmUgJGludGVyZmFjZU5hbWUpIHsKKyAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsIDw8RU5EKTsKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8dm9pZCo+KHN0YXRpY19j
YXN0PCR7YmFzZVR5cGV9Kj4oaW1wbC5nZXQoKSkpID09IHN0YXRpY19jYXN0PHZvaWQqPihpbXBs
LmdldCgpKSk7CitFTkQKKyAgICB9CiAKICAgICBteSAkcHJveHlJbml0OwogICAgIGlmIChJc05v
ZGVTdWJUeXBlKCRkYXRhTm9kZSkpIHsKQEAgLTM2MjgsNiArMzYzNyw4IEBAIHN1YiBHZXROYXRp
dmVUeXBlCiAgICAgcmV0dXJuICJSYW5nZTo6Q29tcGFyZUhvdyIgaWYgJHR5cGUgZXEgIkNvbXBh
cmVIb3ciOwogICAgIHJldHVybiAiRE9NVGltZVN0YW1wIiBpZiAkdHlwZSBlcSAiRE9NVGltZVN0
YW1wIjsKICAgICByZXR1cm4gInVuc2lnbmVkIiBpZiAkdHlwZSBlcSAidW5zaWduZWQgaW50IjsK
KyAgICAjIEZJWE1FOiBXaGVuIEV2ZW50VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90IGEg
bWl4aW4sIGZpeCB0aGlzIHNvIHRoYXQKKyAgICAjIEV2ZW50VGFyZ2V0IGNhbiBiZSBwYXNzZWQg
YXMgYSBwYXJhbWV0ZXIuCiAgICAgcmV0dXJuICJOb2RlKiIgaWYgJHR5cGUgZXEgIkV2ZW50VGFy
Z2V0IiBhbmQgJGlzUGFyYW1ldGVyOwogICAgIHJldHVybiAiZG91YmxlIiBpZiAkdHlwZSBlcSAi
RGF0ZSI7CiAgICAgcmV0dXJuICJTY3JpcHRWYWx1ZSIgaWYgJHR5cGUgZXEgIkRPTU9iamVjdCI7
CkBAIC0zNzQ1LDYgKzM3NTYsOCBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgfQogCiAgICAg
IyBEZWZhdWx0LCBhc3N1bWUgYXV0b2dlbmVyYXRlZCB0eXBlIGNvbnZlcnNpb24gcm91dGluZXMK
KyAgICAjIEZJWE1FOiBXaGVuIEV2ZW50VGFyZ2V0IGlzIGFuIGludGVyZmFjZSBhbmQgbm90IGEg
bWl4aW4sIGZpeCB0aGlzIHRvIHVzZQorICAgICMgVjhFdmVudFRhcmdldDo6SGFzSW5zdGFuY2Ug
ZXRjLgogICAgIGlmICgkdHlwZSBlcSAiRXZlbnRUYXJnZXQiKSB7CiAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJWOE5vZGUuaCIpOwogCkBAIC0zNzg4LDcgKzM4MDEsNiBAQCBzdWIgR2V0VjhI
ZWFkZXJOYW1lCiAgICAgbXkgJHR5cGUgPSBzaGlmdDsKICAgICByZXR1cm4gIlY4RXZlbnQuaCIg
aWYgJHR5cGUgZXEgIkRPTVRpbWVTdGFtcCI7CiAgICAgcmV0dXJuICJFdmVudExpc3RlbmVyLmgi
IGlmICR0eXBlIGVxICJFdmVudExpc3RlbmVyIjsKLSAgICByZXR1cm4gIkV2ZW50VGFyZ2V0Lmgi
IGlmICR0eXBlIGVxICJFdmVudFRhcmdldCI7CiAgICAgcmV0dXJuICJTZXJpYWxpemVkU2NyaXB0
VmFsdWUuaCIgaWYgJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSI7CiAgICAgcmV0dXJu
ICJTY3JpcHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAiRE9NT2JqZWN0IjsKICAgICByZXR1cm4gIlY4
RE9NU3RyaW5nTGlzdC5oIiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nW10iOwpAQCAtMzg4MCw2ICsz
ODkyLDggQEAgbXkgJW5vbl93cmFwcGVyX3R5cGVzID0gKAogICAgICdEYXRlJyA9PiAxLAogICAg
ICdEaWN0aW9uYXJ5JyA9PiAxLAogICAgICdFdmVudExpc3RlbmVyJyA9PiAxLAorICAgICMgRklY
TUU6IFdoZW4gRXZlbnRUYXJnZXQgaXMgYW4gaW50ZXJmYWNlIGFuZCBub3QgYSBtaXhpbiwgZml4
IHRoaXMgc28gdGhhdAorICAgICMgRXZlbnRUYXJnZXQgaXMgdHJlYXRlZCBhcyBhIHdyYXBwZXIg
dHlwZS4KICAgICAnRXZlbnRUYXJnZXQnID0+IDEsCiAgICAgJ0lEQktleScgPT4gMSwKICAgICAn
SlNPYmplY3QnID0+IDEsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAppbmRleCA1NjE4MTM1YmFjZTRkYmM2
OTUxNGNkMjFhMDc3OWMwZTk2OWUwMTY3Li45Y2Q0YjY2OTM5NTZmYzJkMmRhODA2ODU5ZTAwNGFj
YzdiNzQ4YzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKQEAgLTEyNCw2ICsxMjQsNyBAQCBib29s
IFY4RmxvYXQ2NEFycmF5OjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUp
CiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4RmxvYXQ2NEFycmF5Ojp3cmFwU2xvdyhQYXNzUmVm
UHRyPEZsb2F0NjRBcnJheT4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDx2b2lk
Kj4oc3RhdGljX2Nhc3Q8QXJyYXlCdWZmZXJWaWV3Kj4oaW1wbC5nZXQoKSkpID09IHN0YXRpY19j
YXN0PHZvaWQqPihpbXBsLmdldCgpKSk7CiAgICAgVjhQcm94eSogcHJveHkgPSAwOwogICAgIHdy
YXBwZXIgPSBWOERPTVdyYXBwZXI6Omluc3RhbnRpYXRlVjhPYmplY3QocHJveHksICZpbmZvLCBp
bXBsLmdldCgpKTsKICAgICBpZiAoVU5MSUtFTFkod3JhcHBlci5Jc0VtcHR5KCkpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUu
Y3BwCmluZGV4IGI5ZTI3MGE3NzA2NTlkZjU4OTE5M2IyZjYxYjEzODM2MzY0ZjU4ZjMuLmQyMjA5
MjRhMzE3MzVlYTgxNTY4ZGQzNjU3ZTM0NmFjNTZjODk0NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAKQEAgLTEx
Miw2ICsxMTIsNyBAQCBib29sIFY4VGVzdE5vZGU6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2YWx1ZSkKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0Tm9kZTo6d3JhcFNs
b3coUGFzc1JlZlB0cjxUZXN0Tm9kZT4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyOworICAgIEFTU0VSVChzdGF0aWNfY2Fz
dDx2b2lkKj4oc3RhdGljX2Nhc3Q8Tm9kZSo+KGltcGwuZ2V0KCkpKSA9PSBzdGF0aWNfY2FzdDx2
b2lkKj4oaW1wbC5nZXQoKSkpOwogICAgIFY4UHJveHkqIHByb3h5ID0gaW1wbC0+ZG9jdW1lbnQo
KS0+ZnJhbWUoKSA/IGltcGwtPmRvY3VtZW50KCktPmZyYW1lKCktPnNjcmlwdCgpLT5wcm94eSgp
IDogMDsKIAogICAgIC8vIEVudGVyIHRoZSBub2RlJ3MgY29udGV4dCBhbmQgY3JlYXRlIHRoZSB3
cmFwcGVyIGluIHRoYXQgY29udGV4dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50SW5zdGFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuaAppbmRleCAxYzg5YzdjY2QxZDI4OTQyNDRlZmM2OGYwMDhiNTNhNzM2ODMyZGI4Li5mOGU0
ODliNmJhNDM1OWVjNzk1OTc5N2Y3MjNjNTI1OTU0NDY0M2M2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnRJbnN0YW5jZS5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIFNWR0VsZW1lbnRJ
bnN0YW5jZUxpc3Q7CiBjbGFzcyBTVkdTdHlsZWRFbGVtZW50OwogCiAvLyBTVkdFbGVtZW50SW5z
dGFuY2UgbWltaWNzIE5vZGUsIGJ1dCB3aXRob3V0IHByb3ZpZGluZyBhbGwgaXRzIGZ1bmN0aW9u
YWxpdHkKLWNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBUcmVlU2hhcmVkPFNWR0Vs
ZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0IHsK
K2NsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIFRy
ZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlLCBTVkdFbGVtZW50SW5zdGFuY2U+IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IGNyZWF0ZShTVkdV
c2VFbGVtZW50KiBjb3JyZXNwb25kaW5nVXNlRWxlbWVudCwgU1ZHVXNlRWxlbWVudCogZGlyZWN0
VXNlRWxlbWVudCwgUGFzc1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1lbnQpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbAppbmRleCA5YzcxNzVj
N2JmZTEwMjFmMjNmZDY3ZDY1OGUyYzc3MjE1ZDJmYTNlLi5kYjA4MWI5NjZhYWE1NThlMTNmMDc3
YzY2MDMzYzA3YzFmMjFiZDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3Rh
bmNlLmlkbApAQCAtMjksMTAgKzI5LDEzIEBAIG1vZHVsZSBzdmcgewogICAgIGludGVyZmFjZSBb
CiAgICAgICAgIENvbmRpdGlvbmFsPVNWRywKICAgICAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24s
Ci0gICAgICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAorICAgICAgICBKU0dlbmVyYXRlVG9O
YXRpdmVPYmplY3QsCisgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAgICAgXSBTVkdFbGVt
ZW50SW5zdGFuY2UKICNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwogICAgICAgICA6IE9iamVjdCwgRXZlbnRUYXJnZXQKKyNlbHNlCisgICAg
ICAgIDogRXZlbnRUYXJnZXQKICNlbmRpZiAvKiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9D
KSAqLwogICAgIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0VsZW1lbnQgY29ycmVz
cG9uZGluZ0VsZW1lbnQ7CkBAIC04NiwxNSArODksNiBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAg
YXR0cmlidXRlIFtOb3RFbnVtZXJhYmxlXSBFdmVudExpc3RlbmVyIG9uc2VsZWN0c3RhcnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbTm90RW51bWVyYWJsZV0gRXZlbnRMaXN0ZW5lciBvbnN1Ym1pdDsK
ICAgICAgICAgYXR0cmlidXRlIFtOb3RFbnVtZXJhYmxlXSBFdmVudExpc3RlbmVyIG9udW5sb2Fk
OwotCi0gICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VD
YXB0dXJlKTsKLSAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0
eXBlLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIg
bGlzdGVuZXIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
XSBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4g
RXZlbnQgZXZlbnQpCi0gICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRpb24pOwogI2VuZGlm
IC8qIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCiAgICAgfTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>