<?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>88799</bug_id>
          
          <creation_ts>2012-06-11 13:28:29 -0700</creation_ts>
          <short_desc>Add new Pointer Lock spec attribute webkitPointerLockElement.</short_desc>
          <delta_ts>2012-06-11 20:02:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>88810</dependson>
          <blocked>84402</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vincent Scheib">scheib</reporter>
          <assigned_to name="Vincent Scheib">scheib</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>646209</commentid>
    <comment_count>0</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-06-11 13:28:29 -0700</bug_when>
    <thetext>Add new Pointer Lock spec attribute webkitPointerLockElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646214</commentid>
    <comment_count>1</comment_count>
      <attachid>146895</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-06-11 13:38:06 -0700</bug_when>
    <thetext>Created attachment 146895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646225</commentid>
    <comment_count>2</comment_count>
      <attachid>146895</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-06-11 13:54:09 -0700</bug_when>
    <thetext>Comment on attachment 146895
Patch

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

&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:104
&gt; +    static bool webkitPointerLockElementEnabled() { return isPointerLockEnabled; }

Why is this necessary?

&gt; Source/WebCore/dom/Document.idl:261
&gt; +        readonly attribute [V8EnabledAtRuntime] Element webkitPointerLockElement;

This should just be [V8EnabledAtRuntime=POINTER_LOCK]. No need for extra defines: http://trac.webkit.org/wiki/WebKitIDL#V8EnabledAtRuntime

&gt; Source/WebCore/page/PointerLockController.h:49
&gt; +    Element* element() const { return m_element.get(); }

Please don&apos;t do inline them like this. If you want this inlined, put the body of the function in this header file, after class declaration.

&gt; LayoutTests/pointer-lock/pointer-lock-api.html:9
&gt; +    description(&quot;Basic API existance test for Pointer Lock.&quot;)

existance -&gt; existence</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646278</commentid>
    <comment_count>3</comment_count>
      <attachid>146915</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-06-11 14:36:09 -0700</bug_when>
    <thetext>Created attachment 146915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646373</commentid>
    <comment_count>4</comment_count>
      <attachid>146947</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-06-11 16:00:54 -0700</bug_when>
    <thetext>Created attachment 146947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646375</commentid>
    <comment_count>5</comment_count>
      <attachid>146895</attachid>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-06-11 16:02:38 -0700</bug_when>
    <thetext>Comment on attachment 146895
Patch

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

&gt;&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:104
&gt;&gt; +    static bool webkitPointerLockElementEnabled() { return isPointerLockEnabled; }
&gt; 
&gt; Why is this necessary?

Removed.

&gt;&gt; Source/WebCore/dom/Document.idl:261
&gt;&gt; +        readonly attribute [V8EnabledAtRuntime] Element webkitPointerLockElement;
&gt; 
&gt; This should just be [V8EnabledAtRuntime=POINTER_LOCK]. No need for extra defines: http://trac.webkit.org/wiki/WebKitIDL#V8EnabledAtRuntime

Done. Changed to use Conditional=POINTER_LOCK, V8EnabledAtRuntime=pointerLock.

&gt;&gt; Source/WebCore/page/PointerLockController.h:49
&gt;&gt; +    Element* element() const { return m_element.get(); }
&gt; 
&gt; Please don&apos;t do inline them like this. If you want this inlined, put the body of the function in this header file, after class declaration.

Done.

&gt;&gt; LayoutTests/pointer-lock/pointer-lock-api.html:9
&gt;&gt; +    description(&quot;Basic API existance test for Pointer Lock.&quot;)
&gt; 
&gt; existance -&gt; existence

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646569</commentid>
    <comment_count>6</comment_count>
    <who name="Vincent Scheib">scheib</who>
    <bug_when>2012-06-11 20:02:25 -0700</bug_when>
    <thetext>Committed r120031: &lt;http://trac.webkit.org/changeset/120031&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146895</attachid>
            <date>2012-06-11 13:38:06 -0700</date>
            <delta_ts>2012-06-11 16:02:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88799-20120611133805.patch</filename>
            <type>text/plain</type>
            <size>18088</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNmMTY5MjllNGZiNWZj
ZThkOWU4YzA0MjJkNGYxMmI4Y2M4M2ZmYS4uNGMwMjkxNDFmODViYjI2M2RkOWQyMTI1Mjg0Mzhm
ZmM5ZjZlNDkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTExICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIG5ldyBQb2lu
dGVyIExvY2sgc3BlYyBhdHRyaWJ1dGUgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg3OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgc2VyaWVz
IG9mIHJlZmFjdG9yaW5nIGNoYW5nZXMgdG8gdXBkYXRlIHBvaW50ZXIgbG9jayBBUEkgdG8KKyAg
ICAgICAgdGhlIGZ1bGxzY3JlZW4gbG9ja2luZyBzdHlsZS4gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg0NDAyCisKKyAgICAgICAgTmV3IGF0dHJpYnV0ZSB3ZWJraXRQ
b2ludGVyTG9ja0VsZW1lbnQgYWRkZWQuIEZvbGxvdyB1cCBwYXRjaGVzCisgICAgICAgIHdpbGwg
cmVtb3ZlIHRoZSBwcmV2aW91cyBpc0xvY2tlZCBhdHRyaWJ1dGUuIFRlc3RzIHVwZGF0ZWQgdG8g
dXNlCisgICAgICAgIHRoZSBuZXcgYXR0cmlidXRlLgorCisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRQb2ludGVyTG9ja0VsZW1lbnRFbmFibGVkKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6d2Via2l0UG9pbnRlckxvY2tFbGVtZW50KToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aWRsOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1lbnQpOgorCiAyMDEyLTA2LTExICBN
aWNoYWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdW1dLMl0gQ29tcHV0ZSBhbmQgc2V0IGNhY2hlIGNhcGFjaXRpZXMgdXNpbmcgdGhlIGN1cnJl
bnQgQ2FjaGVNb2RlbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBkZGQxOWQ4ZWYxNmExZmM1ODIyYTU4
MDI0ZmY3MDQyMjE0MWI1MDhkLi41MDVlNjdmOTBhZjY4YzJkNzhiNmE3M2VkNDcxNDBhNWE5Nzll
YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTAxLDYgKzEwMSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCB3ZWJraXRQb2ludGVyRW5hYmxlZCgpIHsgcmV0dXJuIGlzUG9pbnRlckxvY2tF
bmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgd2Via2l0TW92ZW1lbnRYRW5hYmxlZCgpIHsgcmV0
dXJuIGlzUG9pbnRlckxvY2tFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgd2Via2l0TW92ZW1l
bnRZRW5hYmxlZCgpIHsgcmV0dXJuIGlzUG9pbnRlckxvY2tFbmFibGVkOyB9CisgICAgc3RhdGlj
IGJvb2wgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50RW5hYmxlZCgpIHsgcmV0dXJuIGlzUG9pbnRl
ckxvY2tFbmFibGVkOyB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDI2ZWFlOGM3OGE4MDFkNTEyM2NlYzlkYWM4ZDQwOWI2MzE3ZDI1ODcu
LmI1MTRlMzNkY2YxNzkyZWE1ZWY1OTUxNGQ0ODJiZmQxN2ZhZDM1NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcApAQCAtMTIwLDYgKzEyMCw3IEBACiAjaW5jbHVkZSAiUGFnZVRyYW5zaXRpb25F
dmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlBs
dWdpbkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUG9pbnRlckxvY2tDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUG9wU3RhdGVFdmVudC5oIgogI2luY2x1ZGUgIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5o
IgogI2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmgiCkBAIC01NzMxLDYgKzU3MzIs
MTMgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxTY3JlZW5DaGFuZ2VFdmVudFF1
ZXVlKERvY3VtZW50KiBkb2MpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
CitFbGVtZW50KiBEb2N1bWVudDo6d2Via2l0UG9pbnRlckxvY2tFbGVtZW50KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gcGFnZSgpID8gcGFnZSgpLT5wb2ludGVyTG9ja0NvbnRyb2xsZXIoKS0+ZWxl
bWVudCgpIDogMDsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRMb2FkRXZl
bnREZWxheUNvdW50KCkKIHsKICAgICBBU1NFUlQobV9sb2FkRXZlbnREZWxheUNvdW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggOGZkOGM5Njc2NDIzMGMyYWE1OTBmZTBmNjJhYzAyYjY2YWU0
ZjkyNC4uYzNlYmI0NmVmMGRkNTRhN2IyOWM1YzQwZjliNTJhYzUyOGM0MDM0ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTEwNjQsNiArMTA2NCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJr
aXRFeGl0RnVsbHNjcmVlbigpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQor
ICAgIEVsZW1lbnQqIHdlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCgpIGNvbnN0OworI2VuZGlmCisK
ICAgICAvLyBVc2VkIHRvIGFsbG93IGVsZW1lbnQgdGhhdCBsb2FkcyBkYXRhIHdpdGhvdXQgZ29p
bmcgdGhyb3VnaCBhIEZyYW1lTG9hZGVyIHRvIGRlbGF5IHRoZSAnbG9hZCcgZXZlbnQuCiAgICAg
dm9pZCBpbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkgeyArK21fbG9hZEV2ZW50RGVsYXlD
b3VudDsgfQogICAgIHZvaWQgZGVjcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwKaW5kZXggOTEzMzRiZTgyZWQ5ZmY3NDEyODNhOGE2Mzk1YjU0ODMyMDcx
ZmNjZi4uZDExZWY5YmIwNDIxYzFiYjcxODg4N2ZmNTc5YWM1MmI3NDk1ZTcyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCkBAIC0yNTcsNiArMjU3LDEwIEBAIG1vZHVsZSBjb3JlIHsKICAgICAg
ICAgW1Y4RW5hYmxlZEF0UnVudGltZV0gdm9pZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOwogI2Vu
ZGlmCiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICYmIEVOQUJMRV9QT0lOVEVS
X0xPQ0sKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIEVs
ZW1lbnQgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50OworI2VuZGlmCisKICNpZiBkZWZpbmVkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJiYgRU5BQkxFX0NTU19SRUdJT05TCiAgICAgICAgIFdlYktpdE5h
bWVkRmxvdyB3ZWJraXRHZXRGbG93QnlOYW1lKGluIERPTVN0cmluZyBuYW1lKTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgKaW5kZXggYmZhMDgy
MjQ5ZWZiMjgzY2FmMjBkOGMzNWJmZDM3NGUwNGU4ZDQ2Yi4uNmNkYzlkNGU3ODlmMjU5NzE5NDk4
NGRiNzhlMjhmODAzZTRlODRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2Nr
Q29udHJvbGxlci5oCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3RQ
b2ludGVyTG9jayhFbGVtZW50KiB0YXJnZXQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNj
ZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBmYWlsdXJlQ2FsbGJhY2spOwog
ICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJVbmxvY2soKTsKICAgICBib29sIGlzTG9ja2VkKCk7Cisg
ICAgRWxlbWVudCogZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQog
CiAgICAgdm9pZCBkaWRBY3F1aXJlUG9pbnRlckxvY2soKTsKICAgICB2b2lkIGRpZE5vdEFjcXVp
cmVQb2ludGVyTG9jaygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDhiOGYxOWI0NzJlM2I1OGIzOTlmMmRlMmJhZTdkNDUyNTlmNTBmZTguLjYx
MzhiMzE2OGEzMTI1Yjk4ZjljMWZkZTk0MGY0ZmM4NGM2Y2M1ZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0w
Ni0xMSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFk
ZCBuZXcgUG9pbnRlciBMb2NrIHNwZWMgYXR0cmlidXRlIHdlYmtpdFBvaW50ZXJMb2NrRWxlbWVu
dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4Nzk5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBv
ZiBhIHNlcmllcyBvZiByZWZhY3RvcmluZyBjaGFuZ2VzIHRvIHVwZGF0ZSBwb2ludGVyIGxvY2sg
QVBJIHRvCisgICAgICAgIHRoZSBmdWxsc2NyZWVuIGxvY2tpbmcgc3R5bGUuIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDQwMgorCisgICAgICAgIE5ldyBhdHRyaWJ1
dGUgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50IGFkZGVkLiBGb2xsb3cgdXAgcGF0Y2hlcworICAg
ICAgICB3aWxsIHJlbW92ZSB0aGUgcHJldmlvdXMgaXNMb2NrZWQgYXR0cmlidXRlLiBUZXN0cyB1
cGRhdGVkIHRvIHVzZQorICAgICAgICB0aGUgbmV3IGF0dHJpYnV0ZS4KKworICAgICAgICBXZWJW
aWV3SG9zdCBsb2dpYyByZXF1aXJlZCBtb2RpZmljYXRpb24gdG8gY29ycmVjdGx5IHJlcG9uZCB0
bworICAgICAgICBhIGxvY2ssIHVubG9jaywgcG9pbnRlckxvY2tFbGVtZW50IGNhbGwgc2VyaWVz
LiBTcGVjaWZpY2FsbHksCisgICAgICAgIHVubG9ja2luZyBtdXN0IGJlIHF1ZXVlZCBhZnRlciBh
IGxvY2sgY29tbWFuZCBpcyBpc3N1ZWQgYWx3YXlzCisgICAgICAgIGFzIHRoZSBsb2NrIHN0YXRl
IG1heSBub3QgYmUgc2V0IHlldCB3aXRoIGEgbG9jayByZXF1ZXN0IGluIGZsaWdodC4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcDoKKyAgICAgICAg
KFdlYlZpZXdIb3N0OjpyZXF1ZXN0UG9pbnRlclVubG9jayk6IEFsd2F5cyBwb3N0IGRpZExvc2VQ
b2ludGVyTG9jayB0YXNrLgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZExvc2VQb2ludGVyTG9j
ayk6IFNpZ25hbCBkaWRMb3NlUG9pbnRlckxvY2sgb25seSBpZiBwb2ludGVyIHdhcyBsb2NrZWQu
CisKIDIwMTItMDYtMTAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgRXhwb3NlIGxheW91dFRlc3RDb250cm9sbGVyIGFzIHRlc3RSdW5uZXIKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCAxOTZiMjNlYzdkMGI2
MjAzODk0OGVhNDNmNWU2YjIzZWNjYmU1N2Q1Li40YWJhZDViODM3NTg1ODc0NDdhMmZiOTlhZjFl
NWZjYjM3N2VjN2ZmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwCkBAIC04NDUsOCArODQ1LDcgQEAgYm9vbCBXZWJWaWV3SG9zdDo6cmVxdWVzdFBv
aW50ZXJMb2NrKCkKIAogdm9pZCBXZWJWaWV3SG9zdDo6cmVxdWVzdFBvaW50ZXJVbmxvY2soKQog
ewotICAgIGlmIChtX3BvaW50ZXJMb2NrZWQpCi0gICAgICAgIHBvc3REZWxheWVkVGFzayhuZXcg
SG9zdE1ldGhvZFRhc2sodGhpcywgJldlYlZpZXdIb3N0OjpkaWRMb3NlUG9pbnRlckxvY2spLCAw
KTsKKyAgICBwb3N0RGVsYXllZFRhc2sobmV3IEhvc3RNZXRob2RUYXNrKHRoaXMsICZXZWJWaWV3
SG9zdDo6ZGlkTG9zZVBvaW50ZXJMb2NrKSwgMCk7CiB9CiAKIGJvb2wgV2ViVmlld0hvc3Q6Omlz
UG9pbnRlckxvY2tlZCgpCkBAIC04NjksOSArODY4LDEwIEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRp
ZE5vdEFjcXVpcmVQb2ludGVyTG9jaygpCiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRpZExvc2VQb2lu
dGVyTG9jaygpCiB7Ci0gICAgQVNTRVJUKG1fcG9pbnRlckxvY2tlZCk7CisgICAgYm9vbCB3YXNM
b2NrZWQgPSBtX3BvaW50ZXJMb2NrZWQ7CiAgICAgbV9wb2ludGVyTG9ja2VkID0gZmFsc2U7Ci0g
ICAgd2ViV2lkZ2V0KCktPmRpZExvc2VQb2ludGVyTG9jaygpOworICAgIGlmICh3YXNMb2NrZWQp
CisgICAgICAgIHdlYldpZGdldCgpLT5kaWRMb3NlUG9pbnRlckxvY2soKTsKIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMGQyMmZlMzllNWY4NzVlZGRmN2ZmMmRjZDhmOGRlZmQwNWJhMGZmOS4uMzg3NzNj
MWY1YjEyMzg5ZDgxZDQ1ZDIwZGRlNTMxMDMxYjg3ODI1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTA2LTExICBWaW5jZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQWRkIG5ldyBQb2ludGVyIExvY2sgc3BlYyBhdHRyaWJ1dGUgd2Via2l0UG9pbnRlckxv
Y2tFbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODg3OTkKKworICAgICAgICBQYXJ0IG9mIGEgc2VyaWVzIG9mIHJlZmFjdG9yaW5nIGNoYW5n
ZXMgdG8gdXBkYXRlIHBvaW50ZXIgbG9jayBBUEkgdG8KKyAgICAgICAgdGhlIGZ1bGxzY3JlZW4g
bG9ja2luZyBzdHlsZS4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0
NDAyCisKKyAgICAgICAgTmV3IGF0dHJpYnV0ZSB3ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQgYWRk
ZWQuIEZvbGxvdyB1cCBwYXRjaGVzCisgICAgICAgIHdpbGwgcmVtb3ZlIHRoZSBwcmV2aW91cyBp
c0xvY2tlZCBhdHRyaWJ1dGUuIFRlc3RzIHVwZGF0ZWQgdG8gdXNlCisgICAgICAgIHRoZSBuZXcg
YXR0cmlidXRlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcG9pbnRlci1sb2NrL2xvY2stYWxyZWFkeS1sb2NrZWQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBvaW50ZXItbG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWw6CisgICAgICAgICog
cG9pbnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBv
aW50ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLmh0bWw6CisgICAgICAgICogcG9pbnRlci1sb2Nr
L3BvaW50ZXJsb2NrbG9zdC1ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcG9pbnRlci1s
b2NrL3BvaW50ZXJsb2NrbG9zdC1ldmVudC5odG1sOgorCiAyMDEyLTA2LTExICBTemlsYXJkIExl
ZGFuICA8c3psZWRhbkBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBHYXJkZW5pbmcs
IHNraXAgbmV3IGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wb2ludGVy
LWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wb2lu
dGVyLWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggMjgyY2ZiZGEy
YTAyNTVjNmQ1ZTBkZDY2ZjM1ZGIxZjgyYzkyNjYxNy4uOTEzYzQyYzAxODliNzZiNDIzODgwNzY5
NTAxZGY0ZmRlYzNiNTczNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xv
Y2stYWxyZWFkeS1sb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9sb2NrLWFscmVhZHktbG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtNywxNCArNywxOCBAQCBQ
QVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzIGZhbHNlCiBQQVNTIExvY2sg
dGFyZ2V0MSBzdWNjZWVkZWQuCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2Vk
IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2NoYW5nZSBldmVudCBy
ZWNlaXZlZC4KK1BBU1MgZG9jdW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVtZW50IGlzIHRhcmdl
dGRpdjEKIFBBU1MgTG9jayB0YXJnZXQxIHN1Y2NlZWRlZCBhZ2Fpbi4KIFBBU1MgbmF2aWdhdG9y
LndlYmtpdFBvaW50ZXIuaXNMb2NrZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5vbndlYmtpdHBv
aW50ZXJsb2NrY2hhbmdlIGV2ZW50IHJlY2VpdmVkLgorUEFTUyBkb2N1bWVudC53ZWJraXRQb2lu
dGVyTG9ja0VsZW1lbnQgaXMgdGFyZ2V0ZGl2MQogUEFTUyBleHBlY3RUYXJnZXQxVW5sb2NrIGlz
IHRydWUKIFBBU1MgTG9jayB0YXJnZXQyIHN1Y2NlZWRlZC4KIFBBU1MgbmF2aWdhdG9yLndlYmtp
dFBvaW50ZXIuaXNMb2NrZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJs
b2NrY2hhbmdlIGV2ZW50IHJlY2VpdmVkLgorUEFTUyBkb2N1bWVudC53ZWJraXRQb2ludGVyTG9j
a0VsZW1lbnQgaXMgdGFyZ2V0ZGl2MgogUEFTUyBkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2Nr
Y2hhbmdlIGV2ZW50IHJlY2VpdmVkLgorUEFTUyBkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0Vs
ZW1lbnQgaXMgdGFyZ2V0ZGl2MgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1h
bHJlYWR5LWxvY2tlZC5odG1sIGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFk
eS1sb2NrZWQuaHRtbAppbmRleCAyODFkNTNiOTA0OTY5NDUzYzJmOTAwZWY4ZmU3NGMwMjg1MWFl
MDc1Li42OTc1MzQ2NjE1MjZiMmQwZTU4NDI1NDhmNTY4NTczMTZjMzFlYzJiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwKQEAgLTE2
LDggKzE2LDEyIEBACiAgICAgdGFyZ2V0ZGl2MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQyIik7CiAKICAgICAvLyBFeHBlY3QgY2hhbmdlIGV2ZW50IG9ubHkgZm9yIGFsbCB0cmFu
c2l0aW9ucyBiZWxvdy4KLSAgICBkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlID0K
LSAgICAgICAgZnVuY3Rpb24gKCkgeyB0ZXN0UGFzc2VkKCJkb2N1bWVudC5vbndlYmtpdHBvaW50
ZXJsb2NrY2hhbmdlIGV2ZW50IHJlY2VpdmVkLiIpOyB9OworICAgIGV4cGVjdGVkVGFyZ2V0VG9C
ZUxvY2tlZFN0cmluZyA9ICIiOworICAgIGRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFu
Z2UgPSBmdW5jdGlvbiAoKQorICAgICAgICB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkb2N1
bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlIGV2ZW50IHJlY2VpdmVkLiIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCIsIGV4cGVj
dGVkVGFyZ2V0VG9CZUxvY2tlZFN0cmluZyk7CisgICAgICAgIH07CiAgICAgZG9jdW1lbnQub253
ZWJraXRwb2ludGVybG9ja2Vycm9yID0KICAgICAgICAgZnVuY3Rpb24gKCkgeyB0ZXN0RmFpbGVk
KCJkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrZXJyb3IgZXZlbnQgcmVjZWl2ZWQuIik7IGZp
bmlzaEpTVGVzdCgpOyB9OwogCkBAIC00NSw2ICs0OSw3IEBACiAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkxvY2sgZmFpbGVkLiIpOwogICAgICAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGV4cGVjdGVkVGFyZ2V0
VG9CZUxvY2tlZFN0cmluZyA9ICJ0YXJnZXRkaXYxIjsKICAgICAgICAgfSwKICAgICAgICAgZnVu
Y3Rpb24gKCkgewogICAgICAgICAgICAgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIubG9jayh0YXJn
ZXRkaXYxLApAQCAtNTcsNyArNjIsNyBAQAogICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJMb2NrIGZhaWxlZC4iKTsKICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAg
ICAgICAgICAgICAgICAgfSk7Ci0KKyAgICAgICAgICAgIGV4cGVjdGVkVGFyZ2V0VG9CZUxvY2tl
ZFN0cmluZyA9ICJ0YXJnZXRkaXYxIjsKICAgICAgICAgfSwKICAgICAgICAgZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgZXhwZWN0VGFyZ2V0MVVubG9jayA9IHRydWU7CkBAIC03MSw3ICs3Niw3
IEBACiAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2sgZmFpbGVkLiIpOwogICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgICAgICAgICB9KTsKLQor
ICAgICAgICAgICAgZXhwZWN0ZWRUYXJnZXRUb0JlTG9ja2VkU3RyaW5nID0gInRhcmdldGRpdjIi
OwogICAgICAgICB9LAogICAgICAgICBmaW5pc2hKU1Rlc3QKICAgICBdOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDQyYzExZmQ1MDA0ZTExZDdkYmExMmQ2MjVlYWNiNGM2ZjM2MjY2MzAuLmY1ZjhhZmI3NGU0
NDc2MGRlMWJjNDk0MDRhYmE0NjE5MWEzNjE3NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bv
aW50ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wb2ludGVyLWxvY2svcG9pbnRlci1sb2NrLWFwaS1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEs
MTggQEAKK0Jhc2ljIEFQSSBleGlzdGFuY2UgdGVzdCBmb3IgUG9pbnRlciBMb2NrLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlciBp
cyBkZWZpbmVkLgogUEFTUyB0eXBlb2YgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQg
aXMgJ2Jvb2xlYW4nCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzIGZh
bHNlCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmxvY2soKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmF2aWdhdG9yLndlYmtpdFBv
aW50ZXIubG9jayhkb2N1bWVudCkgaXMgdW5kZWZpbmVkCitQQVNTIG5hdmlnYXRvci53ZWJraXRQ
b2ludGVyLmxvY2soZG9jdW1lbnQuYm9keSkgaXMgdW5kZWZpbmVkCiBQQVNTIG5hdmlnYXRvci53
ZWJraXRQb2ludGVyLnVubG9jaygpIGlzIHVuZGVmaW5lZAogUEFTUyBkb2N1bWVudC5vbndlYmtp
dHBvaW50ZXJsb2NrY2hhbmdlIGlzIGRlZmluZWQuCiBQQVNTIGRvY3VtZW50Lm9ud2Via2l0cG9p
bnRlcmxvY2tlcnJvciBpcyBkZWZpbmVkLgorUEFTUyBkb2N1bWVudC53ZWJraXRQb2ludGVyTG9j
a0VsZW1lbnQgaXMgbnVsbAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCi0KK2RvTmV4dFN0ZXAgZm9yIG1hbnVhbCB0ZXN0aW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlci1sb2NrLWFwaS5odG1sIGIvTGF5b3V0VGVz
dHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGkuaHRtbAppbmRleCA5N2VkNzQ1NWQzMzYy
MDk1MDNmYWY5MGJhODZlODQwNDJhZDk5YTZiLi42MzM2YjFkMGFlOTFjZTYxYmU2MDdkZjkyN2I2
MDM3MTczYTI2ZWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRl
ci1sb2NrLWFwaS5odG1sCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVyLWxv
Y2stYXBpLmh0bWwKQEAgLTQsMTQgKzQsNDMgQEAKIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KKzxidXR0
b24gb25jbGljaz0iZG9OZXh0U3RlcCgnbWFudWFsJyk7Ij5kb05leHRTdGVwIGZvciBtYW51YWwg
dGVzdGluZzwvYnV0dG9uPgogPHNjcmlwdD4KLSAgICBzaG91bGRCZURlZmluZWQoIm5hdmlnYXRv
ci53ZWJraXRQb2ludGVyIik7Ci0gICAgc2hvdWxkRXZhbHVhdGVUbygibmF2aWdhdG9yLndlYmtp
dFBvaW50ZXIuaXNMb2NrZWQiLCBmYWxzZSk7Ci0gICAgc2hvdWxkVGhyb3coIm5hdmlnYXRvci53
ZWJraXRQb2ludGVyLmxvY2soKSIsICInVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cyci
KTsKLSAgICBzaG91bGRFdmFsdWF0ZVRvKCJuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5sb2NrKGRv
Y3VtZW50KSIsICJ1bmRlZmluZWQiKTsKLSAgICBzaG91bGRFdmFsdWF0ZVRvKCJuYXZpZ2F0b3Iu
d2Via2l0UG9pbnRlci51bmxvY2soKSIsICJ1bmRlZmluZWQiKTsKLSAgICBzaG91bGRCZURlZmlu
ZWQoImRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UiKTsKLSAgICBzaG91bGRCZURl
ZmluZWQoImRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tlcnJvciIpOworICAgIGRlc2NyaXB0
aW9uKCJCYXNpYyBBUEkgZXhpc3RhbmNlIHRlc3QgZm9yIFBvaW50ZXIgTG9jay4iKQorICAgIHdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIGN1cnJlbnRTdGVwID0gMDsKKyAgICBm
dW5jdGlvbiBkb05leHRTdGVwKG1hbnVhbCkKKyAgICB7CisgICAgICAgIGlmICghd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyICYmICFtYW51YWwpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIGlmIChjdXJyZW50U3RlcCA8IHRvZG8ubGVuZ3RoKQorICAgICAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbiAoKSB7IHRvZG9bY3VycmVudFN0ZXArK10oKTsgfSwgMCk7CisgICAgICAgIGVs
c2UgaWYgKGN1cnJlbnRTdGVwKysgPT0gdG9kby5sZW5ndGgpCisgICAgICAgICAgICBzZXRUaW1l
b3V0KGZ1bmN0aW9uICgpIHsgZmluaXNoSlNUZXN0KCk7IH0sIDApOworICAgIH0KKyAgICB0b2Rv
ID0gWworICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzaG91bGRCZURlZmluZWQo
Im5hdmlnYXRvci53ZWJraXRQb2ludGVyIik7CisgICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRv
KCJuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCIsIGZhbHNlKTsKKyAgICAgICAgICAg
IHNob3VsZFRocm93KCJuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5sb2NrKCkiLCAiJ1R5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMnIik7CisgICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRv
KCJuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5sb2NrKGRvY3VtZW50LmJvZHkpIiwgInVuZGVmaW5l
ZCIpOworICAgICAgICAgICAgLy8gRXhpdCBjYWxsIHN0YWNrIHRvIGFsbG93IGxvY2sgdG8gdGFr
ZSBlZmZlY3QuCisgICAgICAgICAgICBkb05leHRTdGVwKCk7CisgICAgICAgIH0sCisgICAgICAg
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oIm5hdmlnYXRvci53
ZWJraXRQb2ludGVyLnVubG9jaygpIiwgInVuZGVmaW5lZCIpOworICAgICAgICAgICAgLy8gRXhp
dCBjYWxsIHN0YWNrIHRvIGFsbG93IHVubG9jayB0byB0YWtlIGVmZmVjdC4KKyAgICAgICAgICAg
IGRvTmV4dFN0ZXAoKTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgc2hvdWxkQmVEZWZpbmVkKCJkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdl
Iik7CisgICAgICAgICAgICBzaG91bGRCZURlZmluZWQoImRvY3VtZW50Lm9ud2Via2l0cG9pbnRl
cmxvY2tlcnJvciIpOworICAgICAgICAgICAgc2hvdWxkRXZhbHVhdGVUbygiZG9jdW1lbnQud2Vi
a2l0UG9pbnRlckxvY2tFbGVtZW50IiwgbnVsbCk7CisgICAgICAgICAgICBkb05leHRTdGVwKCk7
CisgICAgICAgIH0sCisgICAgXTsKKyAgICBkb05leHRTdGVwKCk7CiA8L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJsb2Nr
bG9zdC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRl
cmxvY2tsb3N0LWV2ZW50LWV4cGVjdGVkLnR4dAppbmRleCA2MGJmYWRlZjljMGMzZDU1Y2E1ZTlh
YmJjMDc3NDBmNjI5OGJlNTc1Li4zOGUzODNlOTgwNmZiYjc3YjA0YjljZDJjZjFmMjYyMTAyNzY2
NTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0
LWV2ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRl
cmxvY2tsb3N0LWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtNSwxNCArNSwxNyBAQCBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURQogCiBQQVNTIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBpcyBkZWZp
bmVkLgogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyB0cnVlCitQQVNT
IGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyB0YXJnZXRkaXYKIEphdmFTY3Jp
cHQgaW5pdGlhdGVkIHVubG9jay4KIFBBU1Mgd2Via2l0cG9pbnRlcmxvY2tsb3N0IGhhbmRsZXIg
Y2FsbCAwCiBQQVNTIHdlYmtpdHBvaW50ZXJsb2NrbG9zdCBoYW5kbGVyIGNhbGwgMQogUEFTUyBB
bGwgZXhwZWN0ZWQgd2Via2l0cG9pbnRlcmxvY2tsb3N0IGV2ZW50cyByZWNlaXZlZC4KIFBBU1Mg
b253ZWJraXRwb2ludGVybG9ja2NoYW5nZSByZWNlaXZlZC4KIFBBU1MgQWxsIGV4cGVjdGVkIG9u
d2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnRzIHJlY2VpdmVkLgorUEFTUyBkb2N1bWVudC53
ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQgaXMgbnVsbAogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9p
bnRlci5pc0xvY2tlZCBpcyBmYWxzZQogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xv
Y2tlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyB0
YXJnZXRkaXYKIEhvc3QgaW5pdGlhdGVkIHVubG9jay4KIFBBU1Mgd2Via2l0cG9pbnRlcmxvY2ts
b3N0IGhhbmRsZXIgY2FsbCAwCiBQQVNTIHdlYmtpdHBvaW50ZXJsb2NrbG9zdCBoYW5kbGVyIGNh
bGwgMQpAQCAtMjAsNiArMjMsNyBAQCBQQVNTIEFsbCBleHBlY3RlZCB3ZWJraXRwb2ludGVybG9j
a2xvc3QgZXZlbnRzIHJlY2VpdmVkLgogUEFTUyBvbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlIHJl
Y2VpdmVkLgogUEFTUyBBbGwgZXhwZWN0ZWQgb253ZWJraXRwb2ludGVybG9ja2NoYW5nZSBldmVu
dHMgcmVjZWl2ZWQuCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzIGZh
bHNlCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyBudWxsCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3QtZXZlbnQuaHRtbCBiL0xh
eW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3QtZXZlbnQuaHRtbAppbmRleCA1
NDhmZjFiNzIwMTBmOTgzNjAzYzk0NGU3NTkxODYxMzgwMmZkZTFlLi42ZGFmMDQ5NTQyZjQ1NmMx
MWVmYWM1NGZjZDc2N2MyNmJhMWQ1YjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wb2ludGVy
LWxvY2svcG9pbnRlcmxvY2tsb3N0LWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRl
ci1sb2NrL3BvaW50ZXJsb2NrbG9zdC1ldmVudC5odG1sCkBAIC02NSwxMiArNjUsMTQgQEAKICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICAgfSwKICAgICAgICAgZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCIsICJ0
YXJnZXRkaXYiKTsKICAgICAgICAgICAgIGRlYnVnKCJKYXZhU2NyaXB0IGluaXRpYXRlZCB1bmxv
Y2suIikKICAgICAgICAgICAgIGxvY2tsb3N0cmVjZWlwdHMgPSAwOwogICAgICAgICAgICAgbmF2
aWdhdG9yLndlYmtpdFBvaW50ZXIudW5sb2NrKCk7CiAgICAgICAgIH0sCiAgICAgICAgIGZ1bmN0
aW9uICgpIHsKICAgICAgICAgICAgIC8vIGxvY2tsb3N0SGFuZGxlciB3aWxsIGNhdGNoIHVubG9j
a3MgYW5kIGNhbGwgZG9OZXh0U3RlcCB0byBicmluZyB1cyBoZXJlLgorICAgICAgICAgICAgc2hv
dWxkQmUoImRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCIsICJudWxsIik7CiAgICAg
ICAgICAgICBzaG91bGRCZSgibmF2aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQiLCAiZmFs
c2UiKTsKICAgICAgICAgICAgIGRvTmV4dFN0ZXAoKTsKICAgICAgICAgfSwKQEAgLTg2LDYgKzg4
LDcgQEAKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgfSwKICAgICAgICAgZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxl
bWVudCIsICJ0YXJnZXRkaXYiKTsKICAgICAgICAgICAgIGRlYnVnKCJIb3N0IGluaXRpYXRlZCB1
bmxvY2suIikKICAgICAgICAgICAgIGxvY2tjaGFuZ2VUb1VubG9ja2VkUmVjZWlwdHMgPSAwOwog
ICAgICAgICAgICAgbG9ja2xvc3RyZWNlaXB0cyA9IDA7CkBAIC05NCw2ICs5Nyw3IEBACiAgICAg
ICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIC8vIGxvY2tsb3N0SGFuZGxlciB3aWxsIGNh
dGNoIHVubG9ja3MgYW5kIGNhbGwgZG9OZXh0U3RlcCB0byBicmluZyB1cyBoZXJlLgogICAgICAg
ICAgICAgc2hvdWxkQmUoIm5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIiwgImZhbHNl
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVt
ZW50IiwgIm51bGwiKTsKICAgICAgICAgICAgIGRvTmV4dFN0ZXAoKTsKICAgICAgICAgfSwKICAg
ICAgICAgZmluaXNoSlNUZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146915</attachid>
            <date>2012-06-11 14:36:09 -0700</date>
            <delta_ts>2012-06-11 16:00:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88799-20120611143608.patch</filename>
            <type>text/plain</type>
            <size>18750</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNmMTY5MjllNGZiNWZj
ZThkOWU4YzA0MjJkNGYxMmI4Y2M4M2ZmYS4uNGMwMjkxNDFmODViYjI2M2RkOWQyMTI1Mjg0Mzhm
ZmM5ZjZlNDkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTExICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIG5ldyBQb2lu
dGVyIExvY2sgc3BlYyBhdHRyaWJ1dGUgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg3OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgc2VyaWVz
IG9mIHJlZmFjdG9yaW5nIGNoYW5nZXMgdG8gdXBkYXRlIHBvaW50ZXIgbG9jayBBUEkgdG8KKyAg
ICAgICAgdGhlIGZ1bGxzY3JlZW4gbG9ja2luZyBzdHlsZS4gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg0NDAyCisKKyAgICAgICAgTmV3IGF0dHJpYnV0ZSB3ZWJraXRQ
b2ludGVyTG9ja0VsZW1lbnQgYWRkZWQuIEZvbGxvdyB1cCBwYXRjaGVzCisgICAgICAgIHdpbGwg
cmVtb3ZlIHRoZSBwcmV2aW91cyBpc0xvY2tlZCBhdHRyaWJ1dGUuIFRlc3RzIHVwZGF0ZWQgdG8g
dXNlCisgICAgICAgIHRoZSBuZXcgYXR0cmlidXRlLgorCisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRQb2ludGVyTG9ja0VsZW1lbnRFbmFibGVkKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6d2Via2l0UG9pbnRlckxvY2tFbGVtZW50KToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aWRsOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1lbnQpOgorCiAyMDEyLTA2LTExICBN
aWNoYWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdW1dLMl0gQ29tcHV0ZSBhbmQgc2V0IGNhY2hlIGNhcGFjaXRpZXMgdXNpbmcgdGhlIGN1cnJl
bnQgQ2FjaGVNb2RlbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBkZGQxOWQ4ZWYxNmExZmM1ODIyYTU4
MDI0ZmY3MDQyMjE0MWI1MDhkLi4wNTc4NzFhZjhhY2MyMTU3NDFjZDY1N2I5OGEwYWM5ZTk4YjI3
N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtOTYsNiArOTYsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgc3RhdGljIGJvb2wgcG9pbnRlckxvY2tF
bmFibGVkKCkgeyByZXR1cm4gaXNQb2ludGVyTG9ja0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgYm9v
bCB3ZWJraXRQb2ludGVyTG9ja0VuYWJsZWQoKSB7IHJldHVybiBpc1BvaW50ZXJMb2NrRW5hYmxl
ZDsgfQogICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdFBvaW50ZXJMb2NrRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBpc1BvaW50ZXJMb2NrRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIHN0YXRp
YyBib29sIHdlYmtpdFBvaW50ZXJFbmFibGVkKCkgeyByZXR1cm4gaXNQb2ludGVyTG9ja0VuYWJs
ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDI2ZWFlOGM3OGE4MDFkNTEyM2NlYzlk
YWM4ZDQwOWI2MzE3ZDI1ODcuLmI1MTRlMzNkY2YxNzkyZWE1ZWY1OTUxNGQ0ODJiZmQxN2ZhZDM1
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTIwLDYgKzEyMCw3IEBACiAjaW5jbHVk
ZSAiUGFnZVRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVu
dC5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUG9pbnRlckxvY2tD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUG9wU3RhdGVFdmVudC5oIgogI2luY2x1ZGUgIlByb2Nl
c3NpbmdJbnN0cnVjdGlvbi5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmgi
CkBAIC01NzMxLDYgKzU3MzIsMTMgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxT
Y3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCitFbGVtZW50KiBEb2N1bWVudDo6d2Via2l0UG9pbnRlckxvY2tF
bGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGFnZSgpID8gcGFnZSgpLT5wb2ludGVyTG9j
a0NvbnRyb2xsZXIoKS0+ZWxlbWVudCgpIDogMDsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50
OjpkZWNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkKIHsKICAgICBBU1NFUlQobV9sb2FkRXZl
bnREZWxheUNvdW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggOGZkOGM5Njc2NDIzMGMyYWE1
OTBmZTBmNjJhYzAyYjY2YWU0ZjkyNC4uYzNlYmI0NmVmMGRkNTRhN2IyOWM1YzQwZjliNTJhYzUy
OGM0MDM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEwNjQsNiArMTA2NCwxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOwogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoUE9JTlRFUl9MT0NLKQorICAgIEVsZW1lbnQqIHdlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCgp
IGNvbnN0OworI2VuZGlmCisKICAgICAvLyBVc2VkIHRvIGFsbG93IGVsZW1lbnQgdGhhdCBsb2Fk
cyBkYXRhIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBhIEZyYW1lTG9hZGVyIHRvIGRlbGF5IHRoZSAn
bG9hZCcgZXZlbnQuCiAgICAgdm9pZCBpbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkgeyAr
K21fbG9hZEV2ZW50RGVsYXlDb3VudDsgfQogICAgIHZvaWQgZGVjcmVtZW50TG9hZEV2ZW50RGVs
YXlDb3VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggOTEzMzRiZTgyZWQ5ZmY3NDEy
ODNhOGE2Mzk1YjU0ODMyMDcxZmNjZi4uYjUyYmE4NDZkYjY4NzMxMzVjYmUyZDYwZDJkNWRmZTJi
YmRhMWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0yNTcsNiArMjU3LDEwIEBAIG1v
ZHVsZSBjb3JlIHsKICAgICAgICAgW1Y4RW5hYmxlZEF0UnVudGltZV0gdm9pZCB3ZWJraXRFeGl0
RnVsbHNjcmVlbigpOwogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICYmIEVOQUJMRV9QT0lOVEVSX0xPQ0sKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVu
YWJsZWRBdFJ1bnRpbWU9cG9pbnRlckxvY2tdIEVsZW1lbnQgd2Via2l0UG9pbnRlckxvY2tFbGVt
ZW50OworI2VuZGlmCisKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfUkVHSU9OUykgJiYgRU5BQkxF
X0NTU19SRUdJT05TCiAgICAgICAgIFdlYktpdE5hbWVkRmxvdyB3ZWJraXRHZXRGbG93QnlOYW1l
KGluIERPTVN0cmluZyBuYW1lKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2lu
dGVyTG9ja0NvbnRyb2xsZXIuY3BwCmluZGV4IDBiY2UxMzQxNGJiMzNjNDRhZDFlYTc0ZGQzNGVm
OWQwOTc4OTE3Y2UuLjU1ZTQ2ZDRmMzA1ZTE3MWNkZjViNTRlMTNiOWI3NmRlZjM0ZThlYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKQEAgLTkx
LDYgKzkxLDExIEBAIGJvb2wgUG9pbnRlckxvY2tDb250cm9sbGVyOjppc0xvY2tlZCgpCiAgICAg
cmV0dXJuIG1fcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5pc1BvaW50ZXJMb2NrZWQoKTsKIH0K
IAorRWxlbWVudCogUG9pbnRlckxvY2tDb250cm9sbGVyOjplbGVtZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9lbGVtZW50LmdldCgpOworfQorCiB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxl
cjo6ZGlkQWNxdWlyZVBvaW50ZXJMb2NrKCkKIHsKICAgICAvLyBGSVhNRTogS2VlcCBlbnF1ZXVl
RXZlbnQgdXNhZ2UuIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ0
MDIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaAppbmRleCBi
ZmEwODIyNDllZmIyODNjYWYyMGQ4YzM1YmZkMzc0ZTA0ZThkNDZiLi4xODczMDhhNGI3ZTE4MzFh
Y2UzMTIxMzE4Mzg1Y2EwNDA4MjEzNjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BvaW50ZXJMb2NrQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRl
ckxvY2tDb250cm9sbGVyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVx
dWVzdFBvaW50ZXJMb2NrKEVsZW1lbnQqIHRhcmdldCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGZhaWx1cmVDYWxsYmFj
ayk7CiAgICAgdm9pZCByZXF1ZXN0UG9pbnRlclVubG9jaygpOwogICAgIGJvb2wgaXNMb2NrZWQo
KTsKKyAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3Q7CiAKICAgICB2b2lkIGRpZEFjcXVpcmVQ
b2ludGVyTG9jaygpOwogICAgIHZvaWQgZGlkTm90QWNxdWlyZVBvaW50ZXJMb2NrKCk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGI4ZjE5YjQ3
MmUzYjU4YjM5OWYyZGUyYmFlN2Q0NTI1OWY1MGZlOC4uNjEzOGIzMTY4YTMxMjViOThmOWMxZmRl
OTQwZjRmYzg0YzZjYzVlYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTExICBWaW5jZW50IFNjaGVpYiAg
PHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIG5ldyBQb2ludGVyIExvY2sgc3Bl
YyBhdHRyaWJ1dGUgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg3OTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgc2VyaWVzIG9mIHJlZmFjdG9y
aW5nIGNoYW5nZXMgdG8gdXBkYXRlIHBvaW50ZXIgbG9jayBBUEkgdG8KKyAgICAgICAgdGhlIGZ1
bGxzY3JlZW4gbG9ja2luZyBzdHlsZS4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg0NDAyCisKKyAgICAgICAgTmV3IGF0dHJpYnV0ZSB3ZWJraXRQb2ludGVyTG9ja0Vs
ZW1lbnQgYWRkZWQuIEZvbGxvdyB1cCBwYXRjaGVzCisgICAgICAgIHdpbGwgcmVtb3ZlIHRoZSBw
cmV2aW91cyBpc0xvY2tlZCBhdHRyaWJ1dGUuIFRlc3RzIHVwZGF0ZWQgdG8gdXNlCisgICAgICAg
IHRoZSBuZXcgYXR0cmlidXRlLgorCisgICAgICAgIFdlYlZpZXdIb3N0IGxvZ2ljIHJlcXVpcmVk
IG1vZGlmaWNhdGlvbiB0byBjb3JyZWN0bHkgcmVwb25kIHRvCisgICAgICAgIGEgbG9jaywgdW5s
b2NrLCBwb2ludGVyTG9ja0VsZW1lbnQgY2FsbCBzZXJpZXMuIFNwZWNpZmljYWxseSwKKyAgICAg
ICAgdW5sb2NraW5nIG11c3QgYmUgcXVldWVkIGFmdGVyIGEgbG9jayBjb21tYW5kIGlzIGlzc3Vl
ZCBhbHdheXMKKyAgICAgICAgYXMgdGhlIGxvY2sgc3RhdGUgbWF5IG5vdCBiZSBzZXQgeWV0IHdp
dGggYSBsb2NrIHJlcXVlc3QgaW4gZmxpZ2h0LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnJlcXVlc3RQ
b2ludGVyVW5sb2NrKTogQWx3YXlzIHBvc3QgZGlkTG9zZVBvaW50ZXJMb2NrIHRhc2suCisgICAg
ICAgIChXZWJWaWV3SG9zdDo6ZGlkTG9zZVBvaW50ZXJMb2NrKTogU2lnbmFsIGRpZExvc2VQb2lu
dGVyTG9jayBvbmx5IGlmIHBvaW50ZXIgd2FzIGxvY2tlZC4KKwogMjAxMi0wNi0xMCAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBFeHBvc2UgbGF5b3V0VGVzdENv
bnRyb2xsZXIgYXMgdGVzdFJ1bm5lcgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuY3BwCmluZGV4IDE5NmIyM2VjN2QwYjYyMDM4OTQ4ZWE0M2Y1ZTZiMjNlY2Ni
ZTU3ZDUuLjRhYmFkNWI4Mzc1ODU4NzQ0N2EyZmI5OWFmMWU1ZmNiMzc3ZWM3ZmYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTg0NSw4ICs4
NDUsNyBAQCBib29sIFdlYlZpZXdIb3N0OjpyZXF1ZXN0UG9pbnRlckxvY2soKQogCiB2b2lkIFdl
YlZpZXdIb3N0OjpyZXF1ZXN0UG9pbnRlclVubG9jaygpCiB7Ci0gICAgaWYgKG1fcG9pbnRlckxv
Y2tlZCkKLSAgICAgICAgcG9zdERlbGF5ZWRUYXNrKG5ldyBIb3N0TWV0aG9kVGFzayh0aGlzLCAm
V2ViVmlld0hvc3Q6OmRpZExvc2VQb2ludGVyTG9jayksIDApOworICAgIHBvc3REZWxheWVkVGFz
ayhuZXcgSG9zdE1ldGhvZFRhc2sodGhpcywgJldlYlZpZXdIb3N0OjpkaWRMb3NlUG9pbnRlckxv
Y2spLCAwKTsKIH0KIAogYm9vbCBXZWJWaWV3SG9zdDo6aXNQb2ludGVyTG9ja2VkKCkKQEAgLTg2
OSw5ICs4NjgsMTAgQEAgdm9pZCBXZWJWaWV3SG9zdDo6ZGlkTm90QWNxdWlyZVBvaW50ZXJMb2Nr
KCkKIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkTG9zZVBvaW50ZXJMb2NrKCkKIHsKLSAgICBBU1NF
UlQobV9wb2ludGVyTG9ja2VkKTsKKyAgICBib29sIHdhc0xvY2tlZCA9IG1fcG9pbnRlckxvY2tl
ZDsKICAgICBtX3BvaW50ZXJMb2NrZWQgPSBmYWxzZTsKLSAgICB3ZWJXaWRnZXQoKS0+ZGlkTG9z
ZVBvaW50ZXJMb2NrKCk7CisgICAgaWYgKHdhc0xvY2tlZCkKKyAgICAgICAgd2ViV2lkZ2V0KCkt
PmRpZExvc2VQb2ludGVyTG9jaygpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZDIyZmUzOWU1Zjg3
NWVkZGY3ZmYyZGNkOGY4ZGVmZDA1YmEwZmY5Li4zODc3M2MxZjViMTIzODlkODFkNDVkMjBkZGU1
MzEwMzFiODc4MjVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDYtMTEgIFZpbmNlbnQg
U2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgbmV3IFBvaW50ZXIg
TG9jayBzcGVjIGF0dHJpYnV0ZSB3ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc5OQorCisgICAgICAgIFBh
cnQgb2YgYSBzZXJpZXMgb2YgcmVmYWN0b3JpbmcgY2hhbmdlcyB0byB1cGRhdGUgcG9pbnRlciBs
b2NrIEFQSSB0bworICAgICAgICB0aGUgZnVsbHNjcmVlbiBsb2NraW5nIHN0eWxlLiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ0MDIKKworICAgICAgICBOZXcgYXR0
cmlidXRlIHdlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBhZGRlZC4gRm9sbG93IHVwIHBhdGNoZXMK
KyAgICAgICAgd2lsbCByZW1vdmUgdGhlIHByZXZpb3VzIGlzTG9ja2VkIGF0dHJpYnV0ZS4gVGVz
dHMgdXBkYXRlZCB0byB1c2UKKyAgICAgICAgdGhlIG5ldyBhdHRyaWJ1dGUuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwb2ludGVyLWxvY2svbG9j
ay1hbHJlYWR5LWxvY2tlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcG9pbnRlci1sb2NrL2xv
Y2stYWxyZWFkeS1sb2NrZWQuaHRtbDoKKyAgICAgICAgKiBwb2ludGVyLWxvY2svcG9pbnRlci1s
b2NrLWFwaS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcG9pbnRlci1sb2NrL3BvaW50ZXItbG9j
ay1hcGkuaHRtbDoKKyAgICAgICAgKiBwb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0LWV2ZW50
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0LWV2
ZW50Lmh0bWw6CisKIDIwMTItMDYtMTEgIFN6aWxhcmQgTGVkYW4gIDxzemxlZGFuQGluZi51LXN6
ZWdlZC5odT4KIAogICAgICAgICBbUXRdIEdhcmRlbmluZywgc2tpcCBuZXcgZmFpbGluZyB0ZXN0
cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2NrLWFscmVhZHktbG9j
a2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2NrLWFscmVhZHkt
bG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCAyODJjZmJkYTJhMDI1NWM2ZDVlMGRkNjZmMzVkYjFm
ODJjOTI2NjE3Li45MTNjNDJjMDE4OWI3NmI0MjM4ODA3Njk1MDFkZjRmZGVjM2I1NzM3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFkeS1sb2Nr
ZWQtZXhwZWN0ZWQudHh0CkBAIC03LDE0ICs3LDE4IEBAIFBBU1MgbmF2aWdhdG9yLndlYmtpdFBv
aW50ZXIuaXNMb2NrZWQgaXMgZmFsc2UKIFBBU1MgTG9jayB0YXJnZXQxIHN1Y2NlZWRlZC4KIFBB
U1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVu
dC5vbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlIGV2ZW50IHJlY2VpdmVkLgorUEFTUyBkb2N1bWVu
dC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQgaXMgdGFyZ2V0ZGl2MQogUEFTUyBMb2NrIHRhcmdl
dDEgc3VjY2VlZGVkIGFnYWluLgogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tl
ZCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnQg
cmVjZWl2ZWQuCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyB0YXJn
ZXRkaXYxCiBQQVNTIGV4cGVjdFRhcmdldDFVbmxvY2sgaXMgdHJ1ZQogUEFTUyBMb2NrIHRhcmdl
dDIgc3VjY2VlZGVkLgogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyB0
cnVlCiBQQVNTIGRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnQgcmVjZWl2
ZWQuCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyB0YXJnZXRkaXYy
CiBQQVNTIGRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnQgcmVjZWl2ZWQu
CitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyB0YXJnZXRkaXYyCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwgYi9M
YXlvdXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC5odG1sCmluZGV4IDI4
MWQ1M2I5MDQ5Njk0NTNjMmY5MDBlZjhmZTc0YzAyODUxYWUwNzUuLjY5NzUzNDY2MTUyNmIyZDBl
NTg0MjU0OGY1Njg1NzMxNmMzMWVjMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BvaW50ZXIt
bG9jay9sb2NrLWFscmVhZHktbG9ja2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlci1s
b2NrL2xvY2stYWxyZWFkeS1sb2NrZWQuaHRtbApAQCAtMTYsOCArMTYsMTIgQEAKICAgICB0YXJn
ZXRkaXYyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKTsKIAogICAgIC8vIEV4
cGVjdCBjaGFuZ2UgZXZlbnQgb25seSBmb3IgYWxsIHRyYW5zaXRpb25zIGJlbG93LgotICAgIGRv
Y3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgPQotICAgICAgICBmdW5jdGlvbiAoKSB7
IHRlc3RQYXNzZWQoImRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnQgcmVj
ZWl2ZWQuIik7IH07CisgICAgZXhwZWN0ZWRUYXJnZXRUb0JlTG9ja2VkU3RyaW5nID0gIiI7Cisg
ICAgZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2NoYW5nZSA9IGZ1bmN0aW9uICgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoImRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxv
Y2tjaGFuZ2UgZXZlbnQgcmVjZWl2ZWQuIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQud2Via2l0UG9pbnRlckxvY2tFbGVtZW50IiwgZXhwZWN0ZWRUYXJnZXRUb0JlTG9ja2VkU3Ry
aW5nKTsKKyAgICAgICAgfTsKICAgICBkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrZXJyb3Ig
PQogICAgICAgICBmdW5jdGlvbiAoKSB7IHRlc3RGYWlsZWQoImRvY3VtZW50Lm9ud2Via2l0cG9p
bnRlcmxvY2tlcnJvciBldmVudCByZWNlaXZlZC4iKTsgZmluaXNoSlNUZXN0KCk7IH07CiAKQEAg
LTQ1LDYgKzQ5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jayBmYWls
ZWQuIik7CiAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgZXhwZWN0ZWRUYXJnZXRUb0JlTG9ja2VkU3RyaW5nID0gInRh
cmdldGRpdjEiOwogICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAg
ICBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5sb2NrKHRhcmdldGRpdjEsCkBAIC01Nyw3ICs2Miw3
IEBACiAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2sgZmFpbGVkLiIpOwogICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgICAgICAgICB9KTsKLQor
ICAgICAgICAgICAgZXhwZWN0ZWRUYXJnZXRUb0JlTG9ja2VkU3RyaW5nID0gInRhcmdldGRpdjEi
OwogICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBleHBlY3RU
YXJnZXQxVW5sb2NrID0gdHJ1ZTsKQEAgLTcxLDcgKzc2LDcgQEAKICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiTG9jayBmYWlsZWQuIik7CiAgICAgICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOwogICAgICAgICAgICAgICAgIH0pOwotCisgICAgICAgICAgICBleHBlY3RlZFRh
cmdldFRvQmVMb2NrZWRTdHJpbmcgPSAidGFyZ2V0ZGl2MiI7CiAgICAgICAgIH0sCiAgICAgICAg
IGZpbmlzaEpTVGVzdAogICAgIF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wb2ludGVyLWxv
Y2svcG9pbnRlci1sb2NrLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxv
Y2svcG9pbnRlci1sb2NrLWFwaS1leHBlY3RlZC50eHQKaW5kZXggNDJjMTFmZDUwMDRlMTFkN2Ri
YTEyZDYyNWVhY2I0YzZmMzYyNjYzMC4uYjFkMWM4ODY1YzA4ZTc0NDJlYWU0ZThiZmNhZjZhYzNk
YTVlNjFlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9j
ay1hcGktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVy
LWxvY2stYXBpLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxOCBAQAorQmFzaWMgQVBJIGV4aXN0
ZW5jZSB0ZXN0IGZvciBQb2ludGVyIExvY2suCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyIGlzIGRlZmluZWQuCiBQQVNTIHR5cGVv
ZiBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyAnYm9vbGVhbicKIFBBU1MgbmF2
aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQgaXMgZmFsc2UKIFBBU1MgbmF2aWdhdG9yLndl
YmtpdFBvaW50ZXIubG9jaygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzLgotUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5sb2NrKGRvY3VtZW50KSBp
cyB1bmRlZmluZWQKK1BBU1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIubG9jayhkb2N1bWVudC5i
b2R5KSBpcyB1bmRlZmluZWQKIFBBU1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIudW5sb2NrKCkg
aXMgdW5kZWZpbmVkCiBQQVNTIGRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgaXMg
ZGVmaW5lZC4KIFBBU1MgZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2Vycm9yIGlzIGRlZmlu
ZWQuCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyBudWxsCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLQorZG9OZXh0U3Rl
cCBmb3IgbWFudWFsIHRlc3RpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9j
ay9wb2ludGVyLWxvY2stYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRl
ci1sb2NrLWFwaS5odG1sCmluZGV4IDk3ZWQ3NDU1ZDMzNjIwOTUwM2ZhZjkwYmE4NmU4NDA0MmFk
OTlhNmIuLmIyN2RhMmU0ZjQxN2IzOTgzMmU3OGJlNzU2ZjZiODBkMGE4MTc5YjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGkuaHRtbApAQCAtNCwxNCAr
NCw0MyBAQAogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgorPGJ1dHRvbiBvbmNsaWNrPSJkb05leHRTdGVw
KCdtYW51YWwnKTsiPmRvTmV4dFN0ZXAgZm9yIG1hbnVhbCB0ZXN0aW5nPC9idXR0b24+CiA8c2Ny
aXB0PgotICAgIHNob3VsZEJlRGVmaW5lZCgibmF2aWdhdG9yLndlYmtpdFBvaW50ZXIiKTsKLSAg
ICBzaG91bGRFdmFsdWF0ZVRvKCJuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCIsIGZh
bHNlKTsKLSAgICBzaG91bGRUaHJvdygibmF2aWdhdG9yLndlYmtpdFBvaW50ZXIubG9jaygpIiwg
IidUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyIpOwotICAgIHNob3VsZEV2YWx1YXRl
VG8oIm5hdmlnYXRvci53ZWJraXRQb2ludGVyLmxvY2soZG9jdW1lbnQpIiwgInVuZGVmaW5lZCIp
OwotICAgIHNob3VsZEV2YWx1YXRlVG8oIm5hdmlnYXRvci53ZWJraXRQb2ludGVyLnVubG9jaygp
IiwgInVuZGVmaW5lZCIpOwotICAgIHNob3VsZEJlRGVmaW5lZCgiZG9jdW1lbnQub253ZWJraXRw
b2ludGVybG9ja2NoYW5nZSIpOwotICAgIHNob3VsZEJlRGVmaW5lZCgiZG9jdW1lbnQub253ZWJr
aXRwb2ludGVybG9ja2Vycm9yIik7CisgICAgZGVzY3JpcHRpb24oIkJhc2ljIEFQSSBleGlzdGVu
Y2UgdGVzdCBmb3IgUG9pbnRlciBMb2NrLiIpCisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgY3VycmVudFN0ZXAgPSAwOworICAgIGZ1bmN0aW9uIGRvTmV4dFN0ZXAobWFu
dWFsKQorICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYg
IW1hbnVhbCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKGN1cnJlbnRTdGVwIDwg
dG9kby5sZW5ndGgpCisgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgdG9kb1tj
dXJyZW50U3RlcCsrXSgpOyB9LCAwKTsKKyAgICAgICAgZWxzZSBpZiAoY3VycmVudFN0ZXArKyA9
PSB0b2RvLmxlbmd0aCkKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBmaW5p
c2hKU1Rlc3QoKTsgfSwgMCk7CisgICAgfQorICAgIHRvZG8gPSBbCisgICAgICAgIGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgIHNob3VsZEJlRGVmaW5lZCgibmF2aWdhdG9yLndlYmtpdFBvaW50
ZXIiKTsKKyAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oIm5hdmlnYXRvci53ZWJraXRQb2lu
dGVyLmlzTG9ja2VkIiwgZmFsc2UpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5hdmlnYXRv
ci53ZWJraXRQb2ludGVyLmxvY2soKSIsICInVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cyciKTsKKyAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oIm5hdmlnYXRvci53ZWJraXRQb2lu
dGVyLmxvY2soZG9jdW1lbnQuYm9keSkiLCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICAvLyBF
eGl0IGNhbGwgc3RhY2sgdG8gYWxsb3cgbG9jayB0byB0YWtlIGVmZmVjdC4KKyAgICAgICAgICAg
IGRvTmV4dFN0ZXAoKTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgc2hvdWxkRXZhbHVhdGVUbygibmF2aWdhdG9yLndlYmtpdFBvaW50ZXIudW5sb2NrKCki
LCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICAvLyBFeGl0IGNhbGwgc3RhY2sgdG8gYWxsb3cg
dW5sb2NrIHRvIHRha2UgZWZmZWN0LgorICAgICAgICAgICAgZG9OZXh0U3RlcCgpOworICAgICAg
ICB9LAorICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzaG91bGRCZURlZmluZWQo
ImRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlRGVmaW5lZCgiZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2Vycm9yIik7CisgICAgICAg
ICAgICBzaG91bGRFdmFsdWF0ZVRvKCJkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQi
LCBudWxsKTsKKyAgICAgICAgICAgIGRvTmV4dFN0ZXAoKTsKKyAgICAgICAgfSwKKyAgICBdOwor
ICAgIGRvTmV4dFN0ZXAoKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0LWV2ZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3QtZXZlbnQtZXhwZWN0
ZWQudHh0CmluZGV4IDYwYmZhZGVmOWMwYzNkNTVjYTVlOWFiYmMwNzc0MGY2Mjk4YmU1NzUuLjM4
ZTM4M2U5ODA2ZmJiNzdiMDRiOWNkMmNmMWYyNjIxMDI3NjY1MmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3QtZXZlbnQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3QtZXZlbnQtZXhwZWN0
ZWQudHh0CkBAIC01LDE0ICs1LDE3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1Mg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIGlzIGRlZmluZWQuCiBQQVNTIG5hdmlnYXRvci53
ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQud2Via2l0UG9pbnRl
ckxvY2tFbGVtZW50IGlzIHRhcmdldGRpdgogSmF2YVNjcmlwdCBpbml0aWF0ZWQgdW5sb2NrLgog
UEFTUyB3ZWJraXRwb2ludGVybG9ja2xvc3QgaGFuZGxlciBjYWxsIDAKIFBBU1Mgd2Via2l0cG9p
bnRlcmxvY2tsb3N0IGhhbmRsZXIgY2FsbCAxCiBQQVNTIEFsbCBleHBlY3RlZCB3ZWJraXRwb2lu
dGVybG9ja2xvc3QgZXZlbnRzIHJlY2VpdmVkLgogUEFTUyBvbndlYmtpdHBvaW50ZXJsb2NrY2hh
bmdlIHJlY2VpdmVkLgogUEFTUyBBbGwgZXhwZWN0ZWQgb253ZWJraXRwb2ludGVybG9ja2NoYW5n
ZSBldmVudHMgcmVjZWl2ZWQuCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVu
dCBpcyBudWxsCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzIGZhbHNl
CiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzIHRydWUKK1BBU1MgZG9j
dW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVtZW50IGlzIHRhcmdldGRpdgogSG9zdCBpbml0aWF0
ZWQgdW5sb2NrLgogUEFTUyB3ZWJraXRwb2ludGVybG9ja2xvc3QgaGFuZGxlciBjYWxsIDAKIFBB
U1Mgd2Via2l0cG9pbnRlcmxvY2tsb3N0IGhhbmRsZXIgY2FsbCAxCkBAIC0yMCw2ICsyMyw3IEBA
IFBBU1MgQWxsIGV4cGVjdGVkIHdlYmtpdHBvaW50ZXJsb2NrbG9zdCBldmVudHMgcmVjZWl2ZWQu
CiBQQVNTIG9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgcmVjZWl2ZWQuCiBQQVNTIEFsbCBleHBl
Y3RlZCBvbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlIGV2ZW50cyByZWNlaXZlZC4KIFBBU1MgbmF2
aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQud2Vi
a2l0UG9pbnRlckxvY2tFbGVtZW50IGlzIG51bGwKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcG9pbnRlci1s
b2NrL3BvaW50ZXJsb2NrbG9zdC1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2Nr
L3BvaW50ZXJsb2NrbG9zdC1ldmVudC5odG1sCmluZGV4IDU0OGZmMWI3MjAxMGY5ODM2MDNjOTQ0
ZTc1OTE4NjEzODAyZmRlMWUuLjZkYWYwNDk1NDJmNDU2YzExZWZhYzU0ZmNkNzY3YzI2YmExZDVi
OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3Qt
ZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0
LWV2ZW50Lmh0bWwKQEAgLTY1LDEyICs2NSwxNCBAQAogICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9LAogICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVtZW50IiwgInRhcmdldGRpdiIpOwogICAgICAgICAg
ICAgZGVidWcoIkphdmFTY3JpcHQgaW5pdGlhdGVkIHVubG9jay4iKQogICAgICAgICAgICAgbG9j
a2xvc3RyZWNlaXB0cyA9IDA7CiAgICAgICAgICAgICBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci51
bmxvY2soKTsKICAgICAgICAgfSwKICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
Ly8gbG9ja2xvc3RIYW5kbGVyIHdpbGwgY2F0Y2ggdW5sb2NrcyBhbmQgY2FsbCBkb05leHRTdGVw
IHRvIGJyaW5nIHVzIGhlcmUuCisgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQud2Via2l0
UG9pbnRlckxvY2tFbGVtZW50IiwgIm51bGwiKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJuYXZp
Z2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCIsICJmYWxzZSIpOwogICAgICAgICAgICAgZG9O
ZXh0U3RlcCgpOwogICAgICAgICB9LApAQCAtODYsNiArODgsNyBAQAogICAgICAgICAgICAgICAg
IH0pOwogICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzaG91
bGRCZSgiZG9jdW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVtZW50IiwgInRhcmdldGRpdiIpOwog
ICAgICAgICAgICAgZGVidWcoIkhvc3QgaW5pdGlhdGVkIHVubG9jay4iKQogICAgICAgICAgICAg
bG9ja2NoYW5nZVRvVW5sb2NrZWRSZWNlaXB0cyA9IDA7CiAgICAgICAgICAgICBsb2NrbG9zdHJl
Y2VpcHRzID0gMDsKQEAgLTk0LDYgKzk3LDcgQEAKICAgICAgICAgZnVuY3Rpb24gKCkgewogICAg
ICAgICAgICAgLy8gbG9ja2xvc3RIYW5kbGVyIHdpbGwgY2F0Y2ggdW5sb2NrcyBhbmQgY2FsbCBk
b05leHRTdGVwIHRvIGJyaW5nIHVzIGhlcmUuCiAgICAgICAgICAgICBzaG91bGRCZSgibmF2aWdh
dG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQiLCAibnVsbCIpOwogICAgICAg
ICAgICAgZG9OZXh0U3RlcCgpOwogICAgICAgICB9LAogICAgICAgICBmaW5pc2hKU1Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146947</attachid>
            <date>2012-06-11 16:00:54 -0700</date>
            <delta_ts>2012-06-11 16:45:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88799-20120611160054.patch</filename>
            <type>text/plain</type>
            <size>18710</size>
            <attacher name="Vincent Scheib">scheib</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNmMTY5MjllNGZiNWZj
ZThkOWU4YzA0MjJkNGYxMmI4Y2M4M2ZmYS4uNGMwMjkxNDFmODViYjI2M2RkOWQyMTI1Mjg0Mzhm
ZmM5ZjZlNDkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTExICBWaW5j
ZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIG5ldyBQb2lu
dGVyIExvY2sgc3BlYyBhdHRyaWJ1dGUgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg3OTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgc2VyaWVz
IG9mIHJlZmFjdG9yaW5nIGNoYW5nZXMgdG8gdXBkYXRlIHBvaW50ZXIgbG9jayBBUEkgdG8KKyAg
ICAgICAgdGhlIGZ1bGxzY3JlZW4gbG9ja2luZyBzdHlsZS4gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg0NDAyCisKKyAgICAgICAgTmV3IGF0dHJpYnV0ZSB3ZWJraXRQ
b2ludGVyTG9ja0VsZW1lbnQgYWRkZWQuIEZvbGxvdyB1cCBwYXRjaGVzCisgICAgICAgIHdpbGwg
cmVtb3ZlIHRoZSBwcmV2aW91cyBpc0xvY2tlZCBhdHRyaWJ1dGUuIFRlc3RzIHVwZGF0ZWQgdG8g
dXNlCisgICAgICAgIHRoZSBuZXcgYXR0cmlidXRlLgorCisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRQb2ludGVyTG9ja0VsZW1lbnRFbmFibGVkKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6d2Via2l0UG9pbnRlckxvY2tFbGVtZW50KToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aWRsOgorICAgICAgICAqIHBhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1lbnQpOgorCiAyMDEyLTA2LTExICBN
aWNoYWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdW1dLMl0gQ29tcHV0ZSBhbmQgc2V0IGNhY2hlIGNhcGFjaXRpZXMgdXNpbmcgdGhlIGN1cnJl
bnQgQ2FjaGVNb2RlbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBkZGQxOWQ4ZWYxNmExZmM1ODIyYTU4
MDI0ZmY3MDQyMjE0MWI1MDhkLi4wNTc4NzFhZjhhY2MyMTU3NDFjZDY1N2I5OGEwYWM5ZTk4YjI3
N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtOTYsNiArOTYsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCisgICAgc3RhdGljIGJvb2wgcG9pbnRlckxvY2tF
bmFibGVkKCkgeyByZXR1cm4gaXNQb2ludGVyTG9ja0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgYm9v
bCB3ZWJraXRQb2ludGVyTG9ja0VuYWJsZWQoKSB7IHJldHVybiBpc1BvaW50ZXJMb2NrRW5hYmxl
ZDsgfQogICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdFBvaW50ZXJMb2NrRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBpc1BvaW50ZXJMb2NrRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIHN0YXRp
YyBib29sIHdlYmtpdFBvaW50ZXJFbmFibGVkKCkgeyByZXR1cm4gaXNQb2ludGVyTG9ja0VuYWJs
ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDI2ZWFlOGM3OGE4MDFkNTEyM2NlYzlk
YWM4ZDQwOWI2MzE3ZDI1ODcuLmI1MTRlMzNkY2YxNzkyZWE1ZWY1OTUxNGQ0ODJiZmQxN2ZhZDM1
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTIwLDYgKzEyMCw3IEBACiAjaW5jbHVk
ZSAiUGFnZVRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVu
dC5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUG9pbnRlckxvY2tD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUG9wU3RhdGVFdmVudC5oIgogI2luY2x1ZGUgIlByb2Nl
c3NpbmdJbnN0cnVjdGlvbi5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmgi
CkBAIC01NzMxLDYgKzU3MzIsMTMgQEAgdm9pZCBEb2N1bWVudDo6YWRkRG9jdW1lbnRUb0Z1bGxT
Y3JlZW5DaGFuZ2VFdmVudFF1ZXVlKERvY3VtZW50KiBkb2MpCiB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCitFbGVtZW50KiBEb2N1bWVudDo6d2Via2l0UG9pbnRlckxvY2tF
bGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGFnZSgpID8gcGFnZSgpLT5wb2ludGVyTG9j
a0NvbnRyb2xsZXIoKS0+ZWxlbWVudCgpIDogMDsKK30KKyNlbmRpZgorCiB2b2lkIERvY3VtZW50
OjpkZWNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkKIHsKICAgICBBU1NFUlQobV9sb2FkRXZl
bnREZWxheUNvdW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggOGZkOGM5Njc2NDIzMGMyYWE1
OTBmZTBmNjJhYzAyYjY2YWU0ZjkyNC4uYzNlYmI0NmVmMGRkNTRhN2IyOWM1YzQwZjliNTJhYzUy
OGM0MDM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEwNjQsNiArMTA2NCwxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCB3ZWJraXRFeGl0RnVsbHNjcmVlbigpOwogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoUE9JTlRFUl9MT0NLKQorICAgIEVsZW1lbnQqIHdlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCgp
IGNvbnN0OworI2VuZGlmCisKICAgICAvLyBVc2VkIHRvIGFsbG93IGVsZW1lbnQgdGhhdCBsb2Fk
cyBkYXRhIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBhIEZyYW1lTG9hZGVyIHRvIGRlbGF5IHRoZSAn
bG9hZCcgZXZlbnQuCiAgICAgdm9pZCBpbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkgeyAr
K21fbG9hZEV2ZW50RGVsYXlDb3VudDsgfQogICAgIHZvaWQgZGVjcmVtZW50TG9hZEV2ZW50RGVs
YXlDb3VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggOTEzMzRiZTgyZWQ5ZmY3NDEy
ODNhOGE2Mzk1YjU0ODMyMDcxZmNjZi4uN2E4MDczOTAyYjllNjU5ZGJjNWQ4YjViYzllODdhN2Jj
YTMwMGEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0yNTcsNiArMjU3LDggQEAgbW9k
dWxlIGNvcmUgewogICAgICAgICBbVjhFbmFibGVkQXRSdW50aW1lXSB2b2lkIHdlYmtpdEV4aXRG
dWxsc2NyZWVuKCk7CiAjZW5kaWYKIAorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRp
dGlvbmFsPVBPSU5URVJfTE9DSywgVjhFbmFibGVkQXRSdW50aW1lPXBvaW50ZXJMb2NrXSBFbGVt
ZW50IHdlYmtpdFBvaW50ZXJMb2NrRWxlbWVudDsKKwogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19S
RUdJT05TKSAmJiBFTkFCTEVfQ1NTX1JFR0lPTlMKICAgICAgICAgV2ViS2l0TmFtZWRGbG93IHdl
YmtpdEdldEZsb3dCeU5hbWUoaW4gRE9NU3RyaW5nIG5hbWUpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggMGJjZTEzNDE0YmIz
M2M0NGFkMWVhNzRkZDM0ZWY5ZDA5Nzg5MTdjZS4uNTVlNDZkNGYzMDVlMTcxY2RmNWI1NGUxM2I5
Yjc2ZGVmMzRlOGViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9j
a0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250
cm9sbGVyLmNwcApAQCAtOTEsNiArOTEsMTEgQEAgYm9vbCBQb2ludGVyTG9ja0NvbnRyb2xsZXI6
OmlzTG9ja2VkKCkKICAgICByZXR1cm4gbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmlzUG9p
bnRlckxvY2tlZCgpOwogfQogCitFbGVtZW50KiBQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmVsZW1l
bnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2VsZW1lbnQuZ2V0KCk7Cit9CisKIHZvaWQgUG9p
bnRlckxvY2tDb250cm9sbGVyOjpkaWRBY3F1aXJlUG9pbnRlckxvY2soKQogewogICAgIC8vIEZJ
WE1FOiBLZWVwIGVucXVldWVFdmVudCB1c2FnZS4gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NDQwMikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9p
bnRlckxvY2tDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29u
dHJvbGxlci5oCmluZGV4IGJmYTA4MjI0OWVmYjI4M2NhZjIwZDhjMzViZmQzNzRlMDRlOGQ0NmIu
LjE4NzMwOGE0YjdlMTgzMWFjZTMxMjEzMTgzODVjYTA0MDgyMTM2ODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXF1ZXN0UG9pbnRlckxvY2soRWxlbWVudCogdGFyZ2V0LCBQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFj
az4gZmFpbHVyZUNhbGxiYWNrKTsKICAgICB2b2lkIHJlcXVlc3RQb2ludGVyVW5sb2NrKCk7CiAg
ICAgYm9vbCBpc0xvY2tlZCgpOworICAgIEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdDsKIAogICAg
IHZvaWQgZGlkQWNxdWlyZVBvaW50ZXJMb2NrKCk7CiAgICAgdm9pZCBkaWROb3RBY3F1aXJlUG9p
bnRlckxvY2soKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA4YjhmMTliNDcyZTNiNThiMzk5ZjJkZTJiYWU3ZDQ1MjU5ZjUwZmU4Li42MTM4YjMx
NjhhMzEyNWI5OGY5YzFmZGU5NDBmNGZjODRjNmNjNWVjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDYtMTEg
IFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgbmV3
IFBvaW50ZXIgTG9jayBzcGVjIGF0dHJpYnV0ZSB3ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSBz
ZXJpZXMgb2YgcmVmYWN0b3JpbmcgY2hhbmdlcyB0byB1cGRhdGUgcG9pbnRlciBsb2NrIEFQSSB0
bworICAgICAgICB0aGUgZnVsbHNjcmVlbiBsb2NraW5nIHN0eWxlLiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ0MDIKKworICAgICAgICBOZXcgYXR0cmlidXRlIHdl
YmtpdFBvaW50ZXJMb2NrRWxlbWVudCBhZGRlZC4gRm9sbG93IHVwIHBhdGNoZXMKKyAgICAgICAg
d2lsbCByZW1vdmUgdGhlIHByZXZpb3VzIGlzTG9ja2VkIGF0dHJpYnV0ZS4gVGVzdHMgdXBkYXRl
ZCB0byB1c2UKKyAgICAgICAgdGhlIG5ldyBhdHRyaWJ1dGUuCisKKyAgICAgICAgV2ViVmlld0hv
c3QgbG9naWMgcmVxdWlyZWQgbW9kaWZpY2F0aW9uIHRvIGNvcnJlY3RseSByZXBvbmQgdG8KKyAg
ICAgICAgYSBsb2NrLCB1bmxvY2ssIHBvaW50ZXJMb2NrRWxlbWVudCBjYWxsIHNlcmllcy4gU3Bl
Y2lmaWNhbGx5LAorICAgICAgICB1bmxvY2tpbmcgbXVzdCBiZSBxdWV1ZWQgYWZ0ZXIgYSBsb2Nr
IGNvbW1hbmQgaXMgaXNzdWVkIGFsd2F5cworICAgICAgICBhcyB0aGUgbG9jayBzdGF0ZSBtYXkg
bm90IGJlIHNldCB5ZXQgd2l0aCBhIGxvY2sgcmVxdWVzdCBpbiBmbGlnaHQuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJW
aWV3SG9zdDo6cmVxdWVzdFBvaW50ZXJVbmxvY2spOiBBbHdheXMgcG9zdCBkaWRMb3NlUG9pbnRl
ckxvY2sgdGFzay4KKyAgICAgICAgKFdlYlZpZXdIb3N0OjpkaWRMb3NlUG9pbnRlckxvY2spOiBT
aWduYWwgZGlkTG9zZVBvaW50ZXJMb2NrIG9ubHkgaWYgcG9pbnRlciB3YXMgbG9ja2VkLgorCiAy
MDEyLTA2LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEV4
cG9zZSBsYXlvdXRUZXN0Q29udHJvbGxlciBhcyB0ZXN0UnVubmVyCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggMTk2YjIzZWM3ZDBiNjIwMzg5
NDhlYTQzZjVlNmIyM2VjY2JlNTdkNS4uNGFiYWQ1YjgzNzU4NTg3NDQ3YTJmYjk5YWYxZTVmY2Iz
NzdlYzdmZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmNwcApAQCAtODQ1LDggKzg0NSw3IEBAIGJvb2wgV2ViVmlld0hvc3Q6OnJlcXVlc3RQb2ludGVy
TG9jaygpCiAKIHZvaWQgV2ViVmlld0hvc3Q6OnJlcXVlc3RQb2ludGVyVW5sb2NrKCkKIHsKLSAg
ICBpZiAobV9wb2ludGVyTG9ja2VkKQotICAgICAgICBwb3N0RGVsYXllZFRhc2sobmV3IEhvc3RN
ZXRob2RUYXNrKHRoaXMsICZXZWJWaWV3SG9zdDo6ZGlkTG9zZVBvaW50ZXJMb2NrKSwgMCk7Cisg
ICAgcG9zdERlbGF5ZWRUYXNrKG5ldyBIb3N0TWV0aG9kVGFzayh0aGlzLCAmV2ViVmlld0hvc3Q6
OmRpZExvc2VQb2ludGVyTG9jayksIDApOwogfQogCiBib29sIFdlYlZpZXdIb3N0Ojppc1BvaW50
ZXJMb2NrZWQoKQpAQCAtODY5LDkgKzg2OCwxMCBAQCB2b2lkIFdlYlZpZXdIb3N0OjpkaWROb3RB
Y3F1aXJlUG9pbnRlckxvY2soKQogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRMb3NlUG9pbnRlckxv
Y2soKQogewotICAgIEFTU0VSVChtX3BvaW50ZXJMb2NrZWQpOworICAgIGJvb2wgd2FzTG9ja2Vk
ID0gbV9wb2ludGVyTG9ja2VkOwogICAgIG1fcG9pbnRlckxvY2tlZCA9IGZhbHNlOwotICAgIHdl
YldpZGdldCgpLT5kaWRMb3NlUG9pbnRlckxvY2soKTsKKyAgICBpZiAod2FzTG9ja2VkKQorICAg
ICAgICB3ZWJXaWRnZXQoKS0+ZGlkTG9zZVBvaW50ZXJMb2NrKCk7CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDBkMjJmZTM5ZTVmODc1ZWRkZjdmZjJkY2Q4ZjhkZWZkMDViYTBmZjkuLjM4NzczYzFmNWIx
MjM4OWQ4MWQ0NWQyMGRkZTUzMTAzMWI4NzgyNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAx
Mi0wNi0xMSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEFkZCBuZXcgUG9pbnRlciBMb2NrIHNwZWMgYXR0cmlidXRlIHdlYmtpdFBvaW50ZXJMb2NrRWxl
bWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4
Nzk5CisKKyAgICAgICAgUGFydCBvZiBhIHNlcmllcyBvZiByZWZhY3RvcmluZyBjaGFuZ2VzIHRv
IHVwZGF0ZSBwb2ludGVyIGxvY2sgQVBJIHRvCisgICAgICAgIHRoZSBmdWxsc2NyZWVuIGxvY2tp
bmcgc3R5bGUuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDQwMgor
CisgICAgICAgIE5ldyBhdHRyaWJ1dGUgd2Via2l0UG9pbnRlckxvY2tFbGVtZW50IGFkZGVkLiBG
b2xsb3cgdXAgcGF0Y2hlcworICAgICAgICB3aWxsIHJlbW92ZSB0aGUgcHJldmlvdXMgaXNMb2Nr
ZWQgYXR0cmlidXRlLiBUZXN0cyB1cGRhdGVkIHRvIHVzZQorICAgICAgICB0aGUgbmV3IGF0dHJp
YnV0ZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBvaW50ZXItbG9jay9sb2NrLWFscmVhZHktbG9ja2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwb2ludGVyLWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC5odG1sOgorICAgICAgICAqIHBvaW50
ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwb2ludGVy
LWxvY2svcG9pbnRlci1sb2NrLWFwaS5odG1sOgorICAgICAgICAqIHBvaW50ZXItbG9jay9wb2lu
dGVybG9ja2xvc3QtZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBvaW50ZXItbG9jay9w
b2ludGVybG9ja2xvc3QtZXZlbnQuaHRtbDoKKwogMjAxMi0wNi0xMSAgU3ppbGFyZCBMZWRhbiAg
PHN6bGVkYW5AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gR2FyZGVuaW5nLCBza2lw
IG5ldyBmYWlsaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2Nr
L2xvY2stYWxyZWFkeS1sb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcG9pbnRlci1s
b2NrL2xvY2stYWxyZWFkeS1sb2NrZWQtZXhwZWN0ZWQudHh0CmluZGV4IDI4MmNmYmRhMmEwMjU1
YzZkNWUwZGQ2NmYzNWRiMWY4MmM5MjY2MTcuLjkxM2M0MmMwMTg5Yjc2YjQyMzg4MDc2OTUwMWRm
NGZkZWMzYjU3MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2NrLWFs
cmVhZHktbG9ja2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2sv
bG9jay1hbHJlYWR5LWxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTcsMTQgKzcsMTggQEAgUEFTUyBu
YXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyBmYWxzZQogUEFTUyBMb2NrIHRhcmdl
dDEgc3VjY2VlZGVkLgogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyB0
cnVlCiBQQVNTIGRvY3VtZW50Lm9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnQgcmVjZWl2
ZWQuCitQQVNTIGRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCBpcyB0YXJnZXRkaXYx
CiBQQVNTIExvY2sgdGFyZ2V0MSBzdWNjZWVkZWQgYWdhaW4uCiBQQVNTIG5hdmlnYXRvci53ZWJr
aXRQb2ludGVyLmlzTG9ja2VkIGlzIHRydWUKIFBBU1MgZG9jdW1lbnQub253ZWJraXRwb2ludGVy
bG9ja2NoYW5nZSBldmVudCByZWNlaXZlZC4KK1BBU1MgZG9jdW1lbnQud2Via2l0UG9pbnRlckxv
Y2tFbGVtZW50IGlzIHRhcmdldGRpdjEKIFBBU1MgZXhwZWN0VGFyZ2V0MVVubG9jayBpcyB0cnVl
CiBQQVNTIExvY2sgdGFyZ2V0MiBzdWNjZWVkZWQuCiBQQVNTIG5hdmlnYXRvci53ZWJraXRQb2lu
dGVyLmlzTG9ja2VkIGlzIHRydWUKIFBBU1MgZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2No
YW5nZSBldmVudCByZWNlaXZlZC4KK1BBU1MgZG9jdW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVt
ZW50IGlzIHRhcmdldGRpdjIKIFBBU1MgZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2NoYW5n
ZSBldmVudCByZWNlaXZlZC4KK1BBU1MgZG9jdW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVtZW50
IGlzIHRhcmdldGRpdjIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBD
T01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFk
eS1sb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9sb2NrLWFscmVhZHktbG9j
a2VkLmh0bWwKaW5kZXggMjgxZDUzYjkwNDk2OTQ1M2MyZjkwMGVmOGZlNzRjMDI4NTFhZTA3NS4u
Njk3NTM0NjYxNTI2YjJkMGU1ODQyNTQ4ZjU2ODU3MzE2YzMxZWMyYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcG9pbnRlci1sb2NrL2xvY2stYWxyZWFkeS1sb2NrZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9wb2ludGVyLWxvY2svbG9jay1hbHJlYWR5LWxvY2tlZC5odG1sCkBAIC0xNiw4ICsx
NiwxMiBAQAogICAgIHRhcmdldGRpdjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
MiIpOwogCiAgICAgLy8gRXhwZWN0IGNoYW5nZSBldmVudCBvbmx5IGZvciBhbGwgdHJhbnNpdGlv
bnMgYmVsb3cuCi0gICAgZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2NoYW5nZSA9Ci0gICAg
ICAgIGZ1bmN0aW9uICgpIHsgdGVzdFBhc3NlZCgiZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9j
a2NoYW5nZSBldmVudCByZWNlaXZlZC4iKTsgfTsKKyAgICBleHBlY3RlZFRhcmdldFRvQmVMb2Nr
ZWRTdHJpbmcgPSAiIjsKKyAgICBkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlID0g
ZnVuY3Rpb24gKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiZG9jdW1lbnQu
b253ZWJraXRwb2ludGVybG9ja2NoYW5nZSBldmVudCByZWNlaXZlZC4iKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQiLCBleHBlY3RlZFRh
cmdldFRvQmVMb2NrZWRTdHJpbmcpOworICAgICAgICB9OwogICAgIGRvY3VtZW50Lm9ud2Via2l0
cG9pbnRlcmxvY2tlcnJvciA9CiAgICAgICAgIGZ1bmN0aW9uICgpIHsgdGVzdEZhaWxlZCgiZG9j
dW1lbnQub253ZWJraXRwb2ludGVybG9ja2Vycm9yIGV2ZW50IHJlY2VpdmVkLiIpOyBmaW5pc2hK
U1Rlc3QoKTsgfTsKIApAQCAtNDUsNiArNDksNyBAQAogICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJMb2NrIGZhaWxlZC4iKTsKICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CiAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBleHBlY3RlZFRhcmdldFRvQmVM
b2NrZWRTdHJpbmcgPSAidGFyZ2V0ZGl2MSI7CiAgICAgICAgIH0sCiAgICAgICAgIGZ1bmN0aW9u
ICgpIHsKICAgICAgICAgICAgIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmxvY2sodGFyZ2V0ZGl2
MSwKQEAgLTU3LDcgKzYyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9j
ayBmYWlsZWQuIik7CiAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAg
ICAgICAgICAgIH0pOwotCisgICAgICAgICAgICBleHBlY3RlZFRhcmdldFRvQmVMb2NrZWRTdHJp
bmcgPSAidGFyZ2V0ZGl2MSI7CiAgICAgICAgIH0sCiAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgIGV4cGVjdFRhcmdldDFVbmxvY2sgPSB0cnVlOwpAQCAtNzEsNyArNzYsNyBAQAog
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NrIGZhaWxlZC4iKTsKICAgICAgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAgICAgICAgfSk7Ci0KKyAgICAg
ICAgICAgIGV4cGVjdGVkVGFyZ2V0VG9CZUxvY2tlZFN0cmluZyA9ICJ0YXJnZXRkaXYyIjsKICAg
ICAgICAgfSwKICAgICAgICAgZmluaXNoSlNUZXN0CiAgICAgXTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLWV4cGVjdGVkLnR4dAppbmRleCA0
MmMxMWZkNTAwNGUxMWQ3ZGJhMTJkNjI1ZWFjYjRjNmYzNjI2NjMwLi5iMWQxYzg4NjVjMDhlNzQ0
MmVhZTRlOGJmY2FmNmFjM2RhNWU2MWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wb2ludGVy
LWxvY2svcG9pbnRlci1sb2NrLWFwaS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcG9p
bnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGktZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDE4IEBA
CitCYXNpYyBBUEkgZXhpc3RlbmNlIHRlc3QgZm9yIFBvaW50ZXIgTG9jay4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKIFBBU1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIgaXMgZGVm
aW5lZC4KIFBBU1MgdHlwZW9mIG5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIGlzICdi
b29sZWFuJwogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyBmYWxzZQog
UEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5sb2NrKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5hdmlnYXRvci53ZWJraXRQb2ludGVy
LmxvY2soZG9jdW1lbnQpIGlzIHVuZGVmaW5lZAorUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRl
ci5sb2NrKGRvY3VtZW50LmJvZHkpIGlzIHVuZGVmaW5lZAogUEFTUyBuYXZpZ2F0b3Iud2Via2l0
UG9pbnRlci51bmxvY2soKSBpcyB1bmRlZmluZWQKIFBBU1MgZG9jdW1lbnQub253ZWJraXRwb2lu
dGVybG9ja2NoYW5nZSBpcyBkZWZpbmVkLgogUEFTUyBkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJs
b2NrZXJyb3IgaXMgZGVmaW5lZC4KK1BBU1MgZG9jdW1lbnQud2Via2l0UG9pbnRlckxvY2tFbGVt
ZW50IGlzIG51bGwKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQotCitkb05leHRTdGVwIGZvciBtYW51YWwgdGVzdGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9jay1hcGkuaHRtbCBiL0xheW91dFRlc3RzL3Bv
aW50ZXItbG9jay9wb2ludGVyLWxvY2stYXBpLmh0bWwKaW5kZXggOTdlZDc0NTVkMzM2MjA5NTAz
ZmFmOTBiYTg2ZTg0MDQyYWQ5OWE2Yi4uYjI3ZGEyZTRmNDE3YjM5ODMyZTc4YmU3NTZmNmI4MGQw
YTgxNzliOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXItbG9j
ay1hcGkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlci1sb2NrLWFw
aS5odG1sCkBAIC00LDE0ICs0LDQzIEBACiA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Cis8YnV0dG9uIG9u
Y2xpY2s9ImRvTmV4dFN0ZXAoJ21hbnVhbCcpOyI+ZG9OZXh0U3RlcCBmb3IgbWFudWFsIHRlc3Rp
bmc8L2J1dHRvbj4KIDxzY3JpcHQ+Ci0gICAgc2hvdWxkQmVEZWZpbmVkKCJuYXZpZ2F0b3Iud2Vi
a2l0UG9pbnRlciIpOwotICAgIHNob3VsZEV2YWx1YXRlVG8oIm5hdmlnYXRvci53ZWJraXRQb2lu
dGVyLmlzTG9ja2VkIiwgZmFsc2UpOwotICAgIHNob3VsZFRocm93KCJuYXZpZ2F0b3Iud2Via2l0
UG9pbnRlci5sb2NrKCkiLCAiJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnIik7Ci0g
ICAgc2hvdWxkRXZhbHVhdGVUbygibmF2aWdhdG9yLndlYmtpdFBvaW50ZXIubG9jayhkb2N1bWVu
dCkiLCAidW5kZWZpbmVkIik7Ci0gICAgc2hvdWxkRXZhbHVhdGVUbygibmF2aWdhdG9yLndlYmtp
dFBvaW50ZXIudW5sb2NrKCkiLCAidW5kZWZpbmVkIik7Ci0gICAgc2hvdWxkQmVEZWZpbmVkKCJk
b2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrY2hhbmdlIik7Ci0gICAgc2hvdWxkQmVEZWZpbmVk
KCJkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2NrZXJyb3IiKTsKKyAgICBkZXNjcmlwdGlvbigi
QmFzaWMgQVBJIGV4aXN0ZW5jZSB0ZXN0IGZvciBQb2ludGVyIExvY2suIikKKyAgICB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICBjdXJyZW50U3RlcCA9IDA7CisgICAgZnVuY3Rp
b24gZG9OZXh0U3RlcChtYW51YWwpCisgICAgeworICAgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlciAmJiAhbWFudWFsKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBp
ZiAoY3VycmVudFN0ZXAgPCB0b2RvLmxlbmd0aCkKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24gKCkgeyB0b2RvW2N1cnJlbnRTdGVwKytdKCk7IH0sIDApOworICAgICAgICBlbHNlIGlm
IChjdXJyZW50U3RlcCsrID09IHRvZG8ubGVuZ3RoKQorICAgICAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbiAoKSB7IGZpbmlzaEpTVGVzdCgpOyB9LCAwKTsKKyAgICB9CisgICAgdG9kbyA9IFsK
KyAgICAgICAgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJuYXZp
Z2F0b3Iud2Via2l0UG9pbnRlciIpOworICAgICAgICAgICAgc2hvdWxkRXZhbHVhdGVUbygibmF2
aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQiLCBmYWxzZSk7CisgICAgICAgICAgICBzaG91
bGRUaHJvdygibmF2aWdhdG9yLndlYmtpdFBvaW50ZXIubG9jaygpIiwgIidUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzJyIpOworICAgICAgICAgICAgc2hvdWxkRXZhbHVhdGVUbygibmF2
aWdhdG9yLndlYmtpdFBvaW50ZXIubG9jayhkb2N1bWVudC5ib2R5KSIsICJ1bmRlZmluZWQiKTsK
KyAgICAgICAgICAgIC8vIEV4aXQgY2FsbCBzdGFjayB0byBhbGxvdyBsb2NrIHRvIHRha2UgZWZm
ZWN0LgorICAgICAgICAgICAgZG9OZXh0U3RlcCgpOworICAgICAgICB9LAorICAgICAgICBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRvKCJuYXZpZ2F0b3Iud2Via2l0
UG9pbnRlci51bmxvY2soKSIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIC8vIEV4aXQgY2Fs
bCBzdGFjayB0byBhbGxvdyB1bmxvY2sgdG8gdGFrZSBlZmZlY3QuCisgICAgICAgICAgICBkb05l
eHRTdGVwKCk7CisgICAgICAgIH0sCisgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAg
IHNob3VsZEJlRGVmaW5lZCgiZG9jdW1lbnQub253ZWJraXRwb2ludGVybG9ja2NoYW5nZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJkb2N1bWVudC5vbndlYmtpdHBvaW50ZXJsb2Nr
ZXJyb3IiKTsKKyAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oImRvY3VtZW50LndlYmtpdFBv
aW50ZXJMb2NrRWxlbWVudCIsIG51bGwpOworICAgICAgICAgICAgZG9OZXh0U3RlcCgpOworICAg
ICAgICB9LAorICAgIF07CisgICAgZG9OZXh0U3RlcCgpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BvaW50ZXItbG9jay9wb2ludGVybG9ja2xvc3Qt
ZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJsb2Nr
bG9zdC1ldmVudC1leHBlY3RlZC50eHQKaW5kZXggNjBiZmFkZWY5YzBjM2Q1NWNhNWU5YWJiYzA3
NzQwZjYyOThiZTU3NS4uMzhlMzgzZTk4MDZmYmI3N2IwNGI5Y2QyY2YxZjI2MjEwMjc2NjUyYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJsb2NrbG9zdC1ldmVu
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2NrL3BvaW50ZXJsb2Nr
bG9zdC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTUsMTQgKzUsMTcgQEAgT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUKIAogUEFTUyB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgaXMgZGVmaW5lZC4K
IFBBU1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQgaXMgdHJ1ZQorUEFTUyBkb2N1
bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQgaXMgdGFyZ2V0ZGl2CiBKYXZhU2NyaXB0IGlu
aXRpYXRlZCB1bmxvY2suCiBQQVNTIHdlYmtpdHBvaW50ZXJsb2NrbG9zdCBoYW5kbGVyIGNhbGwg
MAogUEFTUyB3ZWJraXRwb2ludGVybG9ja2xvc3QgaGFuZGxlciBjYWxsIDEKIFBBU1MgQWxsIGV4
cGVjdGVkIHdlYmtpdHBvaW50ZXJsb2NrbG9zdCBldmVudHMgcmVjZWl2ZWQuCiBQQVNTIG9ud2Vi
a2l0cG9pbnRlcmxvY2tjaGFuZ2UgcmVjZWl2ZWQuCiBQQVNTIEFsbCBleHBlY3RlZCBvbndlYmtp
dHBvaW50ZXJsb2NrY2hhbmdlIGV2ZW50cyByZWNlaXZlZC4KK1BBU1MgZG9jdW1lbnQud2Via2l0
UG9pbnRlckxvY2tFbGVtZW50IGlzIG51bGwKIFBBU1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIu
aXNMb2NrZWQgaXMgZmFsc2UKIFBBU1MgbmF2aWdhdG9yLndlYmtpdFBvaW50ZXIuaXNMb2NrZWQg
aXMgdHJ1ZQorUEFTUyBkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQgaXMgdGFyZ2V0
ZGl2CiBIb3N0IGluaXRpYXRlZCB1bmxvY2suCiBQQVNTIHdlYmtpdHBvaW50ZXJsb2NrbG9zdCBo
YW5kbGVyIGNhbGwgMAogUEFTUyB3ZWJraXRwb2ludGVybG9ja2xvc3QgaGFuZGxlciBjYWxsIDEK
QEAgLTIwLDYgKzIzLDcgQEAgUEFTUyBBbGwgZXhwZWN0ZWQgd2Via2l0cG9pbnRlcmxvY2tsb3N0
IGV2ZW50cyByZWNlaXZlZC4KIFBBU1Mgb253ZWJraXRwb2ludGVybG9ja2NoYW5nZSByZWNlaXZl
ZC4KIFBBU1MgQWxsIGV4cGVjdGVkIG9ud2Via2l0cG9pbnRlcmxvY2tjaGFuZ2UgZXZlbnRzIHJl
Y2VpdmVkLgogUEFTUyBuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCBpcyBmYWxzZQor
UEFTUyBkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQgaXMgbnVsbAogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0LWV2ZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9wb2ludGVyLWxvY2svcG9pbnRlcmxvY2tsb3N0LWV2ZW50Lmh0bWwKaW5kZXggNTQ4ZmYx
YjcyMDEwZjk4MzYwM2M5NDRlNzU5MTg2MTM4MDJmZGUxZS4uNmRhZjA0OTU0MmY0NTZjMTFlZmFj
NTRmY2Q3NjdjMjZiYTFkNWI5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcG9pbnRlci1sb2Nr
L3BvaW50ZXJsb2NrbG9zdC1ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3BvaW50ZXItbG9j
ay9wb2ludGVybG9ja2xvc3QtZXZlbnQuaHRtbApAQCAtNjUsMTIgKzY1LDE0IEBACiAgICAgICAg
ICAgICAgICAgfSk7CiAgICAgICAgIH0sCiAgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQiLCAidGFyZ2V0
ZGl2Iik7CiAgICAgICAgICAgICBkZWJ1ZygiSmF2YVNjcmlwdCBpbml0aWF0ZWQgdW5sb2NrLiIp
CiAgICAgICAgICAgICBsb2NrbG9zdHJlY2VpcHRzID0gMDsKICAgICAgICAgICAgIG5hdmlnYXRv
ci53ZWJraXRQb2ludGVyLnVubG9jaygpOwogICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbiAo
KSB7CiAgICAgICAgICAgICAvLyBsb2NrbG9zdEhhbmRsZXIgd2lsbCBjYXRjaCB1bmxvY2tzIGFu
ZCBjYWxsIGRvTmV4dFN0ZXAgdG8gYnJpbmcgdXMgaGVyZS4KKyAgICAgICAgICAgIHNob3VsZEJl
KCJkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQiLCAibnVsbCIpOwogICAgICAgICAg
ICAgc2hvdWxkQmUoIm5hdmlnYXRvci53ZWJraXRQb2ludGVyLmlzTG9ja2VkIiwgImZhbHNlIik7
CiAgICAgICAgICAgICBkb05leHRTdGVwKCk7CiAgICAgICAgIH0sCkBAIC04Niw2ICs4OCw3IEBA
CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgIH0sCiAgICAgICAgIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC53ZWJraXRQb2ludGVyTG9ja0VsZW1lbnQi
LCAidGFyZ2V0ZGl2Iik7CiAgICAgICAgICAgICBkZWJ1ZygiSG9zdCBpbml0aWF0ZWQgdW5sb2Nr
LiIpCiAgICAgICAgICAgICBsb2NrY2hhbmdlVG9VbmxvY2tlZFJlY2VpcHRzID0gMDsKICAgICAg
ICAgICAgIGxvY2tsb3N0cmVjZWlwdHMgPSAwOwpAQCAtOTQsNiArOTcsNyBAQAogICAgICAgICBm
dW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAvLyBsb2NrbG9zdEhhbmRsZXIgd2lsbCBjYXRjaCB1
bmxvY2tzIGFuZCBjYWxsIGRvTmV4dFN0ZXAgdG8gYnJpbmcgdXMgaGVyZS4KICAgICAgICAgICAg
IHNob3VsZEJlKCJuYXZpZ2F0b3Iud2Via2l0UG9pbnRlci5pc0xvY2tlZCIsICJmYWxzZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LndlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCIs
ICJudWxsIik7CiAgICAgICAgICAgICBkb05leHRTdGVwKCk7CiAgICAgICAgIH0sCiAgICAgICAg
IGZpbmlzaEpTVGVzdAo=
</data>
<flag name="review"
          id="154340"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>