<?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>132534</bug_id>
          
          <creation_ts>2014-05-03 15:27:05 -0700</creation_ts>
          <short_desc>[Extended Background] Respect repeat-x/repeat-y when creating margin tiles</short_desc>
          <delta_ts>2014-05-06 09:45:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006398</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-03 15:27:05 -0700</bug_when>
    <thetext>[Extended Background] Respect repeat-x/repeat-y when creating margin tiles</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006399</commentid>
    <comment_count>1</comment_count>
      <attachid>230767</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-03 15:29:27 -0700</bug_when>
    <thetext>Created attachment 230767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006402</commentid>
    <comment_count>2</comment_count>
      <attachid>230767</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-03 15:41:51 -0700</bug_when>
    <thetext>Comment on attachment 230767
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:2547
&gt; +    unsigned mode = 0;

Can&apos;t this be a type?

&gt; Source/WebCore/page/FrameView.cpp:2561
&gt; +    if (documentElementRenderer &amp;&amp; documentElementRenderer-&gt;style().hasBackgroundImage()) {
&gt; +        if (documentElementRenderer-&gt;style().backgroundRepeatX() == RepeatFill)
&gt; +            mode |= ExtendedBackgroundModeHorizontal;
&gt; +        if (documentElementRenderer-&gt;style().backgroundRepeatY() == RepeatFill)
&gt; +            mode |= ExtendedBackgroundModeVertical;
&gt; +    }
&gt; +    
&gt; +    if (bodyRenderer &amp;&amp; bodyRenderer-&gt;style().hasBackgroundImage()) {
&gt; +        if (bodyRenderer-&gt;style().backgroundRepeatX() == RepeatFill)
&gt; +            mode |= ExtendedBackgroundModeHorizontal;
&gt; +        if (bodyRenderer-&gt;style().backgroundRepeatY() == RepeatFill)
&gt; +            mode |= ExtendedBackgroundModeVertical;
&gt; +    }

I think you only want to look at the one that supplies the root background. We have (poorly factored) code elsewhere that does this.

&gt; Source/WebCore/page/FrameView.cpp:2592
&gt; +    renderView-&gt;compositor().setRootExtendedBackgroundColor(mode == ExtendedBackgroundModeAll ? Color() : documentBackgroundColor());

Any reason not to always set the color? What happens if the background image has alpha?

&gt; Source/WebCore/page/FrameView.cpp:2595
&gt; +    

Boop.

&gt; Source/WebCore/page/FrameView.cpp:2614
&gt; +    

Stupid xcode.

&gt; Source/WebCore/page/FrameView.h:203
&gt; +    };
&gt; +    

Typedef for the bitmask please.

&gt; Source/WebCore/page/FrameView.h:210
&gt; +    

r-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006724</commentid>
    <comment_count>3</comment_count>
      <attachid>230767</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-05-05 13:42:23 -0700</bug_when>
    <thetext>Comment on attachment 230767
Patch

This is a good approach. r=me, but you should address Simon&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006979</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-06 09:45:28 -0700</bug_when>
    <thetext>Committed revision 168362.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230767</attachid>
            <date>2014-05-03 15:29:27 -0700</date>
            <delta_ts>2014-05-05 13:42:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132534-20140503152904.patch</filename>
            <type>text/plain</type>
            <size>14550</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODIzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE0LTA1LTAzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0V4dGVuZGVkIEJhY2tncm91bmRdIFJl
c3BlY3QgcmVwZWF0LXgvcmVwZWF0LXkgd2hlbiBjcmVhdGluZyBtYXJnaW4gdGlsZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjUzNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBiYWNrZ3Jv
dW5kIGltYWdlIHRoYXQgaXMgY2F1c2luZyBtYXJnaW4gdGlsZXMgb25seSByZXBlYXRzIGluIGRp
bWVuc2lvbiBvbmx5IGNyZWF0ZQorICAgICAgICB0aGUgdGlsZXMgaW4gdGhhdCBkaW1lbnNpb24u
CisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnVwZGF0ZUV4dGVuZEJhY2tncm91bmRJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmNhbGN1bGF0ZUV4dGVuZGVkQmFja2dyb3VuZE1vZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVUaWxlc0ZvckV4dGVuZGVkQmFja2dyb3VuZE1v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRCYWNrZ3JvdW5kRXh0ZW5kc0Jl
eW9uZFBhZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpuZWVkc0V4
dGVuZGVkQmFja2dyb3VuZFJlY3RGb3JQYWludGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnNldEhhc0V4dGVuZGVkQmFja2dyb3VuZFJlY3RGb3JQYWludGluZyk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRCYWNrZ3JvdW5kU2hv
dWxkRXh0ZW5kQmV5b25kUGFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRC
YWNraW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9s
bGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVy
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6Omhhc0hvcml6b250YWxNYXJn
aW5zKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVyOjpoYXNWZXJ0aWNhbE1hcmdp
bnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0eWxlV2lsbENoYW5nZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnNldFRpbGVkQmFja2luZ0hhc01hcmdpbnMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAxNC0wNS0wMyAgQW5kcmVhcyBLbGluZyAgPGFr
bGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSW52YWxpZGF0ZSBzY3JvbGxiYXJzIHdoZW4gY3Vz
dG9tIHNjcm9sbGJhciBzdHlsZSBjaGFuZ2VzIGR5bmFtaWNhbGx5LgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMTY4MTkwKQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDk1LDE2ICsyNDk1LDYgQEAgdm9p
ZCBGcmFtZVZpZXc6OnVwZGF0ZUJhY2tncm91bmRSZWN1cnNpdgogICAgIH0KIH0KIAotdm9pZCBG
cmFtZVZpZXc6OnNldEJhY2tncm91bmRFeHRlbmRzQmV5b25kUGFnZShib29sIGV4dGVuZEJhY2tn
cm91bmQpCi17Ci0gICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRlclZpZXco
KTsKLSAgICBpZiAoIXJlbmRlclZpZXcpCi0gICAgICAgIHJldHVybjsKLQotICAgIHJlbmRlclZp
ZXctPmNvbXBvc2l0b3IoKS5zZXRSb290RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoZXh0ZW5kQmFj
a2dyb3VuZCA/IGRvY3VtZW50QmFja2dyb3VuZENvbG9yKCkgOiBDb2xvcigpKTsKLSAgICBzZXRI
YXNFeHRlbmRlZEJhY2tncm91bmRSZWN0Rm9yUGFpbnRpbmcobmVlZHNFeHRlbmRlZEJhY2tncm91
bmRSZWN0Rm9yUGFpbnRpbmcoKSk7Ci19Ci0KIGJvb2wgRnJhbWVWaWV3OjpoYXNFeHRlbmRlZEJh
Y2tncm91bmRSZWN0Rm9yUGFpbnRpbmcoKSBjb25zdAogewogICAgIGlmICghZnJhbWUoKS5zZXR0
aW5ncygpLmJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKCkpCkBAIC0yNTE3LDcgKzI1
MDcsMTYgQEAgYm9vbCBGcmFtZVZpZXc6Omhhc0V4dGVuZGVkQmFja2dyb3VuZFJlYwogICAgIHJl
dHVybiB0aWxlZEJhY2tpbmctPmhhc01hcmdpbnMoKTsKIH0KIAotYm9vbCBGcmFtZVZpZXc6Om5l
ZWRzRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdEZvclBhaW50aW5nKCkgY29uc3QKK3ZvaWQgRnJhbWVW
aWV3Ojp1cGRhdGVFeHRlbmRCYWNrZ3JvdW5kSWZOZWNlc3NhcnkoKQoreworICAgIEV4dGVuZGVk
QmFja2dyb3VuZE1vZGUgbW9kZSA9IGNhbGN1bGF0ZUV4dGVuZGVkQmFja2dyb3VuZE1vZGUoKTsK
KyAgICBpZiAobW9kZSA9PSBFeHRlbmRlZEJhY2tncm91bmRNb2RlTm9uZSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIHVwZGF0ZVRpbGVzRm9yRXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZShtb2Rl
KTsKK30KKworRnJhbWVWaWV3OjpFeHRlbmRlZEJhY2tncm91bmRNb2RlIEZyYW1lVmlldzo6Y2Fs
Y3VsYXRlRXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZSgpIGNvbnN0CiB7CiAgICAgLy8gSnVzdCBiZWNh
dXNlIFNldHRpbmdzOjpiYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSgpIGlzIHRydWUg
ZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbgogICAgIC8vIHRoYXQgdGhlIGJhY2tncm91bmQgcmVj
dCBuZWVkcyB0byBiZSBleHRlbmRlZCBmb3IgcGFpbnRpbmcuIFNpbXBsZSBiYWNrZ3JvdW5kcyBj
YW4gYmUgZXh0ZW5kZWQKQEAgLTI1MjcsMzQgKzI1MjYsNDggQEAgYm9vbCBGcmFtZVZpZXc6Om5l
ZWRzRXh0ZW5kZWRCYWNrZ3JvdW5kUgogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIDxyZGFy
Oi8vcHJvYmxlbS8xNjIwMTM3Mz4KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEV4dGVu
ZGVkQmFja2dyb3VuZE1vZGVOb25lOwogI2VuZGlmCiAKICAgICBpZiAoIWZyYW1lKCkuc2V0dGlu
Z3MoKS5iYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSgpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIHJldHVybiBFeHRlbmRlZEJhY2tncm91bmRNb2RlTm9uZTsKIAogICAg
IGlmICghZnJhbWUoKS5pc01haW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBFeHRlbmRlZEJhY2tncm91bmRNb2RlTm9uZTsKIAogICAgIERvY3VtZW50KiBk
b2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50KQotICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBFeHRlbmRlZEJhY2tncm91bmRNb2RlTm9u
ZTsKIAogICAgIGF1dG8gZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVu
dCgpOwogICAgIGF1dG8gYm9keUVsZW1lbnQgPSBkb2N1bWVudC0+Ym9keSgpOwogICAgIGF1dG8g
ZG9jdW1lbnRFbGVtZW50UmVuZGVyZXIgPSBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1l
bnQtPnJlbmRlcmVyKCkgOiBudWxscHRyOwogICAgIGF1dG8gYm9keVJlbmRlcmVyID0gYm9keUVs
ZW1lbnQgPyBib2R5RWxlbWVudC0+cmVuZGVyZXIoKSA6IG51bGxwdHI7Ci0gICAgYm9vbCByb290
QmFja2dyb3VuZEhhc0ltYWdlID0gKGRvY3VtZW50RWxlbWVudFJlbmRlcmVyICYmIGRvY3VtZW50
RWxlbWVudFJlbmRlcmVyLT5zdHlsZSgpLmhhc0JhY2tncm91bmRJbWFnZSgpKQotICAgICAgICB8
fCAoYm9keVJlbmRlcmVyICYmIGJvZHlSZW5kZXJlci0+c3R5bGUoKS5oYXNCYWNrZ3JvdW5kSW1h
Z2UoKSk7CisgICAgCisgICAgdW5zaWduZWQgbW9kZSA9IDA7CisgICAgCisgICAgaWYgKGRvY3Vt
ZW50RWxlbWVudFJlbmRlcmVyICYmIGRvY3VtZW50RWxlbWVudFJlbmRlcmVyLT5zdHlsZSgpLmhh
c0JhY2tncm91bmRJbWFnZSgpKSB7CisgICAgICAgIGlmIChkb2N1bWVudEVsZW1lbnRSZW5kZXJl
ci0+c3R5bGUoKS5iYWNrZ3JvdW5kUmVwZWF0WCgpID09IFJlcGVhdEZpbGwpCisgICAgICAgICAg
ICBtb2RlIHw9IEV4dGVuZGVkQmFja2dyb3VuZE1vZGVIb3Jpem9udGFsOworICAgICAgICBpZiAo
ZG9jdW1lbnRFbGVtZW50UmVuZGVyZXItPnN0eWxlKCkuYmFja2dyb3VuZFJlcGVhdFkoKSA9PSBS
ZXBlYXRGaWxsKQorICAgICAgICAgICAgbW9kZSB8PSBFeHRlbmRlZEJhY2tncm91bmRNb2RlVmVy
dGljYWw7CisgICAgfQorICAgIAorICAgIGlmIChib2R5UmVuZGVyZXIgJiYgYm9keVJlbmRlcmVy
LT5zdHlsZSgpLmhhc0JhY2tncm91bmRJbWFnZSgpKSB7CisgICAgICAgIGlmIChib2R5UmVuZGVy
ZXItPnN0eWxlKCkuYmFja2dyb3VuZFJlcGVhdFgoKSA9PSBSZXBlYXRGaWxsKQorICAgICAgICAg
ICAgbW9kZSB8PSBFeHRlbmRlZEJhY2tncm91bmRNb2RlSG9yaXpvbnRhbDsKKyAgICAgICAgaWYg
KGJvZHlSZW5kZXJlci0+c3R5bGUoKS5iYWNrZ3JvdW5kUmVwZWF0WSgpID09IFJlcGVhdEZpbGwp
CisgICAgICAgICAgICBtb2RlIHw9IEV4dGVuZGVkQmFja2dyb3VuZE1vZGVWZXJ0aWNhbDsKKyAg
ICB9CiAKLSAgICByZXR1cm4gcm9vdEJhY2tncm91bmRIYXNJbWFnZTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8RXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZT4obW9kZSk7CiB9CiAKLXZvaWQgRnJhbWVW
aWV3OjpzZXRIYXNFeHRlbmRlZEJhY2tncm91bmRSZWN0Rm9yUGFpbnRpbmcoYm9vbCBzaG91bGRI
YXZlRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdCkKK3ZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVUaWxlc0Zv
ckV4dGVuZGVkQmFja2dyb3VuZE1vZGUoRXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZSBtb2RlKQogewot
ICAgIGlmIChzaG91bGRIYXZlRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdCA9PSBoYXNFeHRlbmRlZEJh
Y2tncm91bmRSZWN0Rm9yUGFpbnRpbmcoKSkKKyAgICBpZiAoIWZyYW1lKCkuc2V0dGluZ3MoKS5i
YWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSgpKQogICAgICAgICByZXR1cm47Ci0KKyAg
ICAKICAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdGhpcy0+cmVuZGVyVmlldygpOwogICAg
IGlmICghcmVuZGVyVmlldykKICAgICAgICAgcmV0dXJuOwpAQCAtMjU2MiwxMCArMjU3NSwyNCBA
QCB2b2lkIEZyYW1lVmlldzo6c2V0SGFzRXh0ZW5kZWRCYWNrZ3JvdW5kCiAgICAgUmVuZGVyTGF5
ZXJCYWNraW5nKiBiYWNraW5nID0gcmVuZGVyVmlldy0+bGF5ZXIoKS0+YmFja2luZygpOwogICAg
IGlmICghYmFja2luZykKICAgICAgICAgcmV0dXJuOwotCi0gICAgYmFja2luZy0+c2V0VGlsZWRC
YWNraW5nSGFzTWFyZ2lucyhmcmFtZSgpLnNldHRpbmdzKCkuYmFja2dyb3VuZFNob3VsZEV4dGVu
ZEJleW9uZFBhZ2UoKSAmJiBzaG91bGRIYXZlRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdCk7CisgICAg
CisgICAgVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcgPSBiYWNraW5nLT5ncmFwaGljc0xheWVy
KCktPnRpbGVkQmFja2luZygpOworICAgIGlmICghdGlsZWRCYWNraW5nKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgdW5zaWduZWQgZXhpc3RpbmdNb2RlID0gMDsKKyAgICBpZiAodGlsZWRC
YWNraW5nLT5oYXNWZXJ0aWNhbE1hcmdpbnMoKSkKKyAgICAgICAgZXhpc3RpbmdNb2RlIHw9IEV4
dGVuZGVkQmFja2dyb3VuZE1vZGVWZXJ0aWNhbDsKKyAgICBpZiAodGlsZWRCYWNraW5nLT5oYXNI
b3Jpem9udGFsTWFyZ2lucygpKQorICAgICAgICBleGlzdGluZ01vZGUgfD0gRXh0ZW5kZWRCYWNr
Z3JvdW5kTW9kZUhvcml6b250YWw7CisgICAgCisgICAgaWYgKHN0YXRpY19jYXN0PEV4dGVuZGVk
QmFja2dyb3VuZE1vZGU+KGV4aXN0aW5nTW9kZSkgPT0gbW9kZSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS5zZXRSb290RXh0ZW5kZWRCYWNrZ3Jv
dW5kQ29sb3IobW9kZSA9PSBFeHRlbmRlZEJhY2tncm91bmRNb2RlQWxsID8gQ29sb3IoKSA6IGRv
Y3VtZW50QmFja2dyb3VuZENvbG9yKCkpOworICAgIGJhY2tpbmctPnNldFRpbGVkQmFja2luZ0hh
c01hcmdpbnMobW9kZSAmIEV4dGVuZGVkQmFja2dyb3VuZE1vZGVIb3Jpem9udGFsLCBtb2RlICYg
RXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZVZlcnRpY2FsKTsKIH0KLQorICAgIAogSW50UmVjdCBGcmFt
ZVZpZXc6OmV4dGVuZGVkQmFja2dyb3VuZFJlY3RGb3JQYWludGluZygpIGNvbnN0CiB7CiAgICAg
VGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcgPSB0aGlzLT50aWxlZEJhY2tpbmcoKTsKQEAgLTI1
ODQsNyArMjYxMSw3IEBAIEludFJlY3QgRnJhbWVWaWV3OjpleHRlbmRlZEJhY2tncm91bmRSZWMK
ICAgICBleHRlbmRlZFJlY3QuZXhwYW5kKExheW91dFNpemUodGlsZWRCYWNraW5nLT5sZWZ0TWFy
Z2luV2lkdGgoKSArIHRpbGVkQmFja2luZy0+cmlnaHRNYXJnaW5XaWR0aCgpLCB0aWxlZEJhY2tp
bmctPnRvcE1hcmdpbkhlaWdodCgpICsgdGlsZWRCYWNraW5nLT5ib3R0b21NYXJnaW5IZWlnaHQo
KSkpOwogICAgIHJldHVybiBwaXhlbFNuYXBwZWRJbnRSZWN0KGV4dGVuZGVkUmVjdCk7CiB9Ci0K
KyAgICAKIGJvb2wgRnJhbWVWaWV3OjpzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW47CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgJKHJldmlzaW9uIDE2ODE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTE5MywyMCArMTkzLDIxIEBAIHB1Ymxp
YzoKICAgICBDb2xvciBiYXNlQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRC
YXNlQmFja2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJik7CiAgICAgdm9pZCB1cGRhdGVCYWNrZ3Jv
dW5kUmVjdXJzaXZlbHkoY29uc3QgQ29sb3ImLCBib29sKTsKLQotICAgIC8vIHNldEJhY2tncm91
bmRFeHRlbmRzQmV5b25kUGFnZSgpIGlzIGNvbnRyb2xsZWQgYnkgU2V0dGluZ3M6OnNldEJhY2tn
cm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKCkuIFNvbWUKLSAgICAvLyBleHRlbmRlZCBiYWNr
Z3JvdW5kcyByZXF1aXJlIGFuIGV4dGVuZGVkIGJhY2tncm91bmQgcmVjdCBmb3IgcGFpbnRpbmcs
IChhdCB0aGlzIHRpbWUsIHRoYXQgY29ycmVzcG9uZHMKLSAgICAvLyB0byBkb2N1bWVudHMgd2l0
aCBiYWNrZ3JvdW5kIGltYWdlcykgYW5kIG5lZWRzRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdEZvclBh
aW50aW5nKCkgZGV0ZXJtaW5lcyBpZiB0aGlzCi0gICAgLy8gRnJhbWVWaWV3IGlzIG9uZSBvZiB0
aG9zZSBzcGVjaWFsIEZyYW1lVmlld3MgdGhhdCBkb2VzIHJlcXVpcmUgYW4gZXh0ZW5kZWQgcmVj
dCBmb3IgcGFpbnRpbmcuIFNpbmNlCi0gICAgLy8gbmVlZGluZyBhbiBleHRlbmRlZCBiYWNrZ3Jv
dW5kIHJlY3QgZm9yIHBhaW50aW5nIGlzIHNvbWV0aGluZyB0aGF0IGNhbiBjaGFuZ2UgaW4gdGhl
IGNvdXJzZSBvZiBhIEZyYW1lVmlldydzCi0gICAgLy8gbGlmZSwgdGhlIGV4dGVuZGVkIHJlY3Qg
aXMgc2V0IGFuZCB1bnNldCB1c2luZyBzZXRIYXNFeHRlbmRlZEJhY2tncm91bmRSZWN0Rm9yUGFp
bnRpbmcoKS4gVGhlCi0gICAgLy8gZXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdEZvclBhaW50aW5nKCkg
aXMgaW4gdGhlIHZpZXdwb3J0J3MgY29vcmRpbmF0ZSBzcGFjZS4KLSAgICB2b2lkIHNldEJhY2tn
cm91bmRFeHRlbmRzQmV5b25kUGFnZShib29sKTsKLSAgICBib29sIG5lZWRzRXh0ZW5kZWRCYWNr
Z3JvdW5kUmVjdEZvclBhaW50aW5nKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRIYXNFeHRlbmRlZEJh
Y2tncm91bmRSZWN0Rm9yUGFpbnRpbmcoYm9vbCBzaG91bGRIYXZlRXh0ZW5kZWRCYWNrZ3JvdW5k
UmVjdCk7CisgICAgCisgICAgZW51bSBFeHRlbmRlZEJhY2tncm91bmRNb2RlIHsKKyAgICAgICAg
RXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZU5vbmUgICAgICAgICAgPSAwLAorICAgICAgICBFeHRlbmRl
ZEJhY2tncm91bmRNb2RlVmVydGljYWwgICAgICA9IDEgPDwgMCwKKyAgICAgICAgRXh0ZW5kZWRC
YWNrZ3JvdW5kTW9kZUhvcml6b250YWwgICAgPSAxIDw8IDEsCisgICAgICAgIEV4dGVuZGVkQmFj
a2dyb3VuZE1vZGVBbGwgICAgICAgICAgID0gRXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZVZlcnRpY2Fs
IHwgRXh0ZW5kZWRCYWNrZ3JvdW5kTW9kZUhvcml6b250YWwsCisgICAgfTsKKyAgICAKKyAgICB2
b2lkIHVwZGF0ZUV4dGVuZEJhY2tncm91bmRJZk5lY2Vzc2FyeSgpOworICAgIHZvaWQgdXBkYXRl
VGlsZXNGb3JFeHRlbmRlZEJhY2tncm91bmRNb2RlKEV4dGVuZGVkQmFja2dyb3VuZE1vZGUpOwor
ICAgIEV4dGVuZGVkQmFja2dyb3VuZE1vZGUgY2FsY3VsYXRlRXh0ZW5kZWRCYWNrZ3JvdW5kTW9k
ZSgpIGNvbnN0OworICAgIAogICAgIGJvb2wgaGFzRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdEZvclBh
aW50aW5nKCkgY29uc3Q7CiAgICAgSW50UmVjdCBleHRlbmRlZEJhY2tncm91bmRSZWN0Rm9yUGFp
bnRpbmcoKSBjb25zdDsKLQorICAgIAogICAgIGJvb2wgc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3Jl
ZW4oKSBjb25zdDsKICAgICB2b2lkIHNldFNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKGJvb2wp
OwogICAgIGJvb2wgc2hvdWxkVXBkYXRlKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcAkocmV2aXNpb24gMTY4MTkwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2Miw3ICs1NjIsNyBAQCB2b2lkIFNldHRpbmdzOjpz
ZXRCYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kCiAKICAgICBtX2JhY2tncm91bmRTaG91bGRFeHRlbmRC
ZXlvbmRQYWdlID0gc2hvdWxkRXh0ZW5kOwogCi0gICAgbV9wYWdlLT5tYWluRnJhbWUoKS52aWV3
KCktPnNldEJhY2tncm91bmRFeHRlbmRzQmV5b25kUGFnZShzaG91bGRFeHRlbmQpOworICAgIG1f
cGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT51cGRhdGVFeHRlbmRCYWNrZ3JvdW5kSWZOZWNlc3Nh
cnkoKTsKIH0KIAogI2lmIFVTRShBVkZPVU5EQVRJT04pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaAkocmV2aXNpb24gMTY4MTkwKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFRpbGVNYXJnaW5zKGludCBtYXJnaW5Ub3AsIGludCBtYXJnaW5Cb3R0b20sIGludCBtYXJnaW5M
ZWZ0LCBpbnQgbWFyZ2luUmlnaHQpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzTWFyZ2lucygp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzSG9yaXpvbnRhbE1hcmdpbnMoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBib29sIGhhc1ZlcnRpY2FsTWFyZ2lucygpIGNvbnN0ID0gMDsK
IAogICAgIHZpcnR1YWwgaW50IHRvcE1hcmdpbkhlaWdodCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIGludCBib3R0b21NYXJnaW5IZWlnaHQoKSBjb25zdCA9IDA7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xs
ZXIuaAkocmV2aXNpb24gMTY4MTkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDgg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50U2l6ZSB0aWxlU2l6ZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fdGlsZVNpemU7IH0KICAgICB2aXJ0dWFsIEludFJlY3QgYm91bmRzKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGhhc01hcmdpbnMoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzSG9yaXpvbnRhbE1hcmdpbnMoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzVmVydGljYWxNYXJnaW5zKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBpbnQgdG9wTWFyZ2luSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCBpbnQgYm90dG9tTWFyZ2luSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBpbnQgbGVmdE1hcmdpbldpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250
cm9sbGVyLm1tCShyZXZpc2lvbiAxNjgxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1MCw3
ICs0NTAsMTcgQEAgYm9vbCBUaWxlQ29udHJvbGxlcjo6aGFzTWFyZ2lucygpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fbWFyZ2luVG9wIHx8IG1fbWFyZ2luQm90dG9tIHx8IG1fbWFyZ2luTGVmdCB8
fCBtX21hcmdpblJpZ2h0OwogfQotCisgICAgCitib29sIFRpbGVDb250cm9sbGVyOjpoYXNIb3Jp
em9udGFsTWFyZ2lucygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWFyZ2luTGVmdCB8fCBtX21h
cmdpblJpZ2h0OworfQorICAgIAorYm9vbCBUaWxlQ29udHJvbGxlcjo6aGFzVmVydGljYWxNYXJn
aW5zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tYXJnaW5Ub3AgfHwgbV9tYXJnaW5Cb3R0b207
Cit9CisgICAgCiBpbnQgVGlsZUNvbnRyb2xsZXI6OnRvcE1hcmdpbkhlaWdodCgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIG1fbWFyZ2luVG9wOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTY4MTkwKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDAsMTEgKzkw
MCw4IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWwKICAgICAgICAg
ICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5hZGRTbG93UmVwYWludE9iamVjdCh0aGlzKTsKICAgICB9
CiAKLSAgICBpZiAoaXNSb290KCkgfHwgaXNCb2R5KCkpIHsKLSAgICAgICAgYm9vbCBuZWVkc0V4
dGVuZGVkQmFja2dyb3VuZCA9IHZpZXcoKS5mcmFtZVZpZXcoKS5uZWVkc0V4dGVuZGVkQmFja2dy
b3VuZFJlY3RGb3JQYWludGluZygpOwotICAgICAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmhh
c0V4dGVuZGVkQmFja2dyb3VuZFJlY3RGb3JQYWludGluZygpICE9IG5lZWRzRXh0ZW5kZWRCYWNr
Z3JvdW5kKQotICAgICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhhc0V4dGVuZGVkQmFj
a2dyb3VuZFJlY3RGb3JQYWludGluZyhuZWVkc0V4dGVuZGVkQmFja2dyb3VuZCk7Ci0gICAgfQor
ICAgIGlmIChpc1Jvb3QoKSB8fCBpc0JvZHkoKSkKKyAgICAgICAgdmlldygpLmZyYW1lVmlldygp
LnVwZGF0ZUV4dGVuZEJhY2tncm91bmRJZk5lY2Vzc2FyeSgpOwogfQogCiAjaWYgIVBMQVRGT1JN
KElPUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCShyZXZpc2lvbiAxNjgxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDEzICsyMjcsMTMg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmFkanVzdFRpbGVkQmFjawogICAgIHRpbGVkQmFj
a2luZygpLT5zZXRUaWxlQ292ZXJhZ2UodGlsZUNvdmVyYWdlKTsKIH0KIAotdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnNldFRpbGVkQmFja2luZ0hhc01hcmdpbnMoYm9vbCBoYXNFeHRlbmRlZEJh
Y2tncm91bmRSZWN0KQordm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldFRpbGVkQmFja2luZ0hh
c01hcmdpbnMoYm9vbCBoYXNFeHRlbmRlZEJhY2tncm91bmRPbkxlZnRBbmRSaWdodCwgYm9vbCBo
YXNFeHRlbmRlZEJhY2tncm91bmRPblRvcEFuZEJvdHRvbSkKIHsKICAgICBpZiAoIW1fdXNpbmdU
aWxlZENhY2hlTGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCBtYXJnaW5MZWZ0QW5k
UmlnaHRTaXplID0gaGFzRXh0ZW5kZWRCYWNrZ3JvdW5kUmVjdCA/IGRlZmF1bHRUaWxlV2lkdGgg
OiAwOwotICAgIGludCBtYXJnaW5Ub3BBbmRCb3R0b21TaXplID0gaGFzRXh0ZW5kZWRCYWNrZ3Jv
dW5kUmVjdCA/IGRlZmF1bHRUaWxlSGVpZ2h0IDogMDsKKyAgICBpbnQgbWFyZ2luTGVmdEFuZFJp
Z2h0U2l6ZSA9IGhhc0V4dGVuZGVkQmFja2dyb3VuZE9uTGVmdEFuZFJpZ2h0ID8gZGVmYXVsdFRp
bGVXaWR0aCA6IDA7CisgICAgaW50IG1hcmdpblRvcEFuZEJvdHRvbVNpemUgPSBoYXNFeHRlbmRl
ZEJhY2tncm91bmRPblRvcEFuZEJvdHRvbSA/IGRlZmF1bHRUaWxlSGVpZ2h0IDogMDsKICAgICB0
aWxlZEJhY2tpbmcoKS0+c2V0VGlsZU1hcmdpbnMobWFyZ2luVG9wQW5kQm90dG9tU2l6ZSwgbWFy
Z2luVG9wQW5kQm90dG9tU2l6ZSwgbWFyZ2luTGVmdEFuZFJpZ2h0U2l6ZSwgbWFyZ2luTGVmdEFu
ZFJpZ2h0U2l6ZSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmgJKHJldmlzaW9uIDE2ODE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDcgKzE2
MSw3IEBAIHB1YmxpYzoKICAgICBib29sIHVzaW5nVGlsZWRCYWNraW5nKCkgY29uc3QgeyByZXR1
cm4gbV91c2luZ1RpbGVkQ2FjaGVMYXllcjsgfQogICAgIFRpbGVkQmFja2luZyogdGlsZWRCYWNr
aW5nKCkgY29uc3Q7CiAgICAgdm9pZCBhZGp1c3RUaWxlZEJhY2tpbmdDb3ZlcmFnZSgpOwotICAg
IHZvaWQgc2V0VGlsZWRCYWNraW5nSGFzTWFyZ2lucyhib29sKTsKKyAgICB2b2lkIHNldFRpbGVk
QmFja2luZ0hhc01hcmdpbnMoYm9vbCBoYXNFeHRlbmRlZEJhY2tncm91bmRPbkxlZnRBbmRSaWdo
dCwgYm9vbCBoYXNFeHRlbmRlZEJhY2tncm91bmRPblRvcEFuZEJvdHRvbSk7CiAgICAgCiAgICAg
dm9pZCB1cGRhdGVEZWJ1Z0luZGljYXRvcnMoYm9vbCBzaG93Qm9yZGVyLCBib29sIHNob3dSZXBh
aW50Q291bnRlcik7CiAK
</data>
<flag name="review"
          id="255156"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>