<?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>130761</bug_id>
          
          <creation_ts>2014-03-25 19:42:11 -0700</creation_ts>
          <short_desc>[iOS][WK2] Compute a good exposed rect when scaling WKContentView</short_desc>
          <delta_ts>2014-03-27 16:23: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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>994476</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-25 19:42:11 -0700</bug_when>
    <thetext>[iOS][WK2] Compute a good exposed rect when scaling WKContentView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994485</commentid>
    <comment_count>1</comment_count>
      <attachid>227825</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-25 20:07:12 -0700</bug_when>
    <thetext>Created attachment 227825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995053</commentid>
    <comment_count>2</comment_count>
      <attachid>227825</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-27 14:19:15 -0700</bug_when>
    <thetext>Comment on attachment 227825
Patch

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        zoom is transitory and is not as predictable as scrolling, so this patch just do very

do -&gt; does

&gt; Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h:68
&gt; +    double timestamp() const { return m_timestamp; }

std::chrono everywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995062</commentid>
    <comment_count>3</comment_count>
      <attachid>227982</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-27 14:41:11 -0700</bug_when>
    <thetext>Created attachment 227982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995132</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-27 16:23:25 -0700</bug_when>
    <thetext>Committed r166380: &lt;http://trac.webkit.org/changeset/166380&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227825</attachid>
            <date>2014-03-25 20:07:12 -0700</date>
            <delta_ts>2014-03-27 14:41:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130761-20140325200651.patch</filename>
            <type>text/plain</type>
            <size>19394</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmY1OTM2NDczODk2YTcw
ZGE0ZWVhMTlmOTcyNTYwN2QwMWQ1N2JkYy4uMTJhMjljMjE4NmY1NzA4YTc3N2M4YTNkNjJiNzEx
YTM4MzJlNjBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAzLTI1ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
Q29tcHV0ZSBhIGdvb2QgZXhwb3NlZCByZWN0IHdoZW4gc2NhbGluZyBXS0NvbnRlbnRWaWV3Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA3NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUu
ZXhwLmluOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnNldFNjcm9sbFZlbG9jaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmNvbXB1
dGVDb3ZlcmFnZVJlY3QpOgorICAgICAgICBXaGlsZSBzY2FsaW5nIGluLCBkbyBub3QgYWRkIG1h
cmdpbnMgdGlsZXMuIFdoZW4gc2NhbGluZyBvdXQsIGFkZCAxIG1hcmdpbiB0aWxlIHNpemUKKyAg
ICAgICAgYWxsIGFyb3VuZC4KKwogMjAxNC0wMy0yNSAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5r
aUBhcHBsZS5jb20+CiAKICAgICAgICAgQXR0ZW1wdCB0byBmaXggaU9TIGJ1aWxkIGFmdGVyIHIx
NjYyNjEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWI0NzUyM2E5NDgxNWYyY2E1YmNkYzYzZDU5NTNlMDEyMzMx
MDQwZC4uZGE0ODZiOTc5NjY0ZjEwN2EyZDA5NWI0NjI5NTNlOWEzY2E5ZjY3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQ1IEBACisyMDE0LTAzLTI1ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxh
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0gQ29tcHV0ZSBhIGdvb2QgZXhwb3Nl
ZCByZWN0IHdoZW4gc2NhbGluZyBXS0NvbnRlbnRWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBzaW1wbGUgaGV1cmlzdGljIHRvIGltcHJv
dmUgdGlsaW5nIHdoaWxlIHpvb21pbmcuIEluIHRoZW9yeSB3ZSBjb3VsZCB0YWtlIHRoZSB6b29t
CisgICAgICAgIGNlbnRlciBhbmQgc2NhbGVSYXRlIHRvIHNwbGl0IHRoZSBzcGVlZCBiZXR3ZWVu
IHNjcm9sbGluZyBhbmQgcGluY2hpbmcuIEluIHByYWN0aWNlLAorICAgICAgICB6b29tIGlzIHRy
YW5zaXRvcnkgYW5kIGlzIG5vdCBhcyBwcmVkaWN0YWJsZSBhcyBzY3JvbGxpbmcsIHNvIHRoaXMg
cGF0Y2gganVzdCBkbyB2ZXJ5CisgICAgICAgIHNpbXBsZSBoZXVyaXN0aWM6CisgICAgICAgIC1X
aGVuIHpvb21pbmcgaW4sIGRvIG5vdCBleHBhbmQgY292ZXJhZ2UuCisgICAgICAgIC1XaGVuIHpv
b21pbmcgb3V0LCBhZGQgaGFsZiBhIHRpbGUgc2l6ZSBvbiBldmVyeSBzaWRlLgorCisgICAgICAg
ICogU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjplbmNvZGUpOgorICAgICAgICAoV2Vi
S2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6OlZp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm86OlZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8p
OgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjp0aW1lc3Rh
bXApOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjpob3Jp
em9udGFsVmVsb2NpdHkpOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvOjp2ZXJ0aWNhbFZlbG9jaXR5KToKKyAgICAgICAgKFdlYktpdDo6VmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlSW5mbzo6c2NhbGVDaGFuZ2VSYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgIChXZWJLaXQ6Okhpc3RvcmljYWxWZWxvY2l0
eURhdGE6OlZlbG9jaXR5RGF0YTo6VmVsb2NpdHlEYXRhKToKKyAgICAgICAgKFdlYktpdDo6SGlz
dG9yaWNhbFZlbG9jaXR5RGF0YTo6dmVsb2NpdHlGb3JOZXdEYXRhKToKKyAgICAgICAgKFdlYktp
dDo6SGlzdG9yaWNhbFZlbG9jaXR5RGF0YTo6YXBwZW5kKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBkaWRVcGRhdGVWaXNpYmxlUmVjdDp1bm9ic2N1cmVkUmVjdDpzY2FsZTppblN0YWJsZVN0
YXRlOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToK
KworICAgICAgICAoV2ViS2l0OjphZGp1c3RFeHBvc2VkUmVjdEZvckJvdW5kZWRTY2FsZSk6Cisg
ICAgICAgIFdoZW4gem9vbWluZyBwYXN0IHRoZSBtYXhpbXVtIHNpemUsIGFkanVzdCB0aGUgZXhw
b3NlZCByZWN0IHRvIGNvbnRpbnVlIHRpbGluZyB0aGUgYXJlYQorICAgICAgICBhdCBtYXhpbXVt
IHNpemUuIE90aGVyd2lzZSwgd2UgdGlsZSBhIHRpbnkgYXJlYSwgYW5kIGhhdmUgdG8gcmV0aWxl
IGxhcmdlciB3aGVuIHRoZSBhbmltYXRpb24KKyAgICAgICAgcHVsbCBiYWNrIHRoZSB2aWV3IHRv
IG1heGltdW0gc2NhbGUuCisKKyAgICAgICAgKFdlYktpdDo6YWRqdXN0VmVsb2NpdHlEYXRhRm9y
Qm91bmRlZFNjYWxlKToKKyAgICAgICAgU2luY2Ugd2UgZG8gbm90IHNwbGl0IHRoZSB2ZWxvY2l0
eSBmcm9tIHNjcm9sbGluZyBmcm9tIHRoZSBzY2FsaW5nLCBqdXN0IGNsZWFyIHRoZSB2ZWxvY2l0
eSB3aGVuIHpvb21pbmcuCisgICAgICAgIEFsc28gY2xlYXIgdGhlIHNjYWxlQ2hhbmdlUmF0ZSB3
aGVuIHRoZSBzY2FsZSBpcyBvdXQgb2YgYm91bmRzLiBUaGVyZSBpcyBubyByZWFzb24gdG8gYWRk
IHRpbGVzIGZvcgorICAgICAgICB0ZW1wb3Jhcnkgc3RhdGUuCisKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyk6CisKIDIwMTQtMDMtMjUgIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBQTEFURk9S
TShJT1MpIGZyb20gTmV0d29ya1Byb2Nlc3NNYWMubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MWQxZjdkNWVlMmY1NTllMGE2YjYzZTlkOGM3NTNkMDI3YWJkMzA5Mi4uYmY1NjhkMDE4NmJjZjhk
ODA3MjExN2NiMzZjZTc4OTkyNDJhNDZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI0MTQs
NyArMjQxNCw3IEBAIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIxc2V0RXhwb3NlZENvbnRlbnRS
ZWN0RVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyNHNldFVub2JzY3Vy
ZWRDb250ZW50UmVjdEVSS05TXzdJbnRSZWN0RQogX19aTjdXZWJDb3JlMTBYTGlua05hbWVzNGlu
aXRFdgogX19aTjdXZWJDb3JlMTBpblNhbWVMaW5lRVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FUzJf
Ci1fX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcxN3NldFNjcm9sbFZlbG9jaXR5RWRkZAorX19aTjdX
ZWJDb3JlMTBTY3JvbGxWaWV3MTdzZXRTY3JvbGxWZWxvY2l0eUVkZGRkCiBfX1pON1dlYkNvcmUx
MUJpZGlDb250ZXh0NDFjb3B5U3RhY2tSZW1vdmluZ1VuaWNvZGVFbWJlZGRpbmdDb250ZXh0c0V2
CiBfX1pON1dlYkNvcmUxMUJpZGlDb250ZXh0NmNyZWF0ZUVoMTRVQ2hhckRpcmVjdGlvbmJOU18x
OUJpZGlFbWJlZGRpbmdTb3VyY2VFUFMwXwogX19aTjdXZWJDb3JlMTFDYWNoZWRJbWFnZTVpbWFn
ZUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKaW5kZXggMGI4OWU5OWFkNmM5MjBj
NzAzYjIyY2ZkNTYwYzEwMzMwMzE5YzBkNS4uY2MxMzNiMGE5NWJiNzBlNmIxYWQ5NDY1NTI5OGNj
ZDQyMGQ1NjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtMTg2LDcg
KzE4Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEV4cG9zZWRDb250ZW50UmVjdChjb25zdCBJ
bnRSZWN0Jik7CiAgICAgdm9pZCBzZXRVbm9ic2N1cmVkQ29udGVudFJlY3QoY29uc3QgSW50UmVj
dCYpOwogCi0gICAgdm9pZCBzZXRTY3JvbGxWZWxvY2l0eShkb3VibGUgaG9yaXpvbnRhbFZlbG9j
aXR5LCBkb3VibGUgdmVydGljYWxWZWxvY2l0eSwgZG91YmxlIHRpbWVzdGFtcCk7CisgICAgdm9p
ZCBzZXRTY3JvbGxWZWxvY2l0eShkb3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5LCBkb3VibGUgdmVy
dGljYWxWZWxvY2l0eSwgZG91YmxlIHNjYWxlQ2hhbmdlUmF0ZSwgZG91YmxlIHRpbWVzdGFtcCk7
CiAgICAgRmxvYXRSZWN0IGNvbXB1dGVDb3ZlcmFnZVJlY3QoZG91YmxlIGhvcml6b250YWxNYXJn
aW4sIGRvdWJsZSB2ZXJ0aWNhbE1hcmdpbikgY29uc3Q7CiAKICAgICB2b2lkIHNldEFjdHVhbFNj
cm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50Jik7CkBAIC00MjAsNiArNDIwLDcgQEAgcHJpdmF0
ZToKIAogICAgIGRvdWJsZSBtX2hvcml6b250YWxWZWxvY2l0eTsKICAgICBkb3VibGUgbV92ZXJ0
aWNhbFZlbG9jaXR5OworICAgIGRvdWJsZSBtX3NjYWxlQ2hhbmdlUmF0ZTsKICAgICBkb3VibGUg
bV9sYXN0VmVsb2NpdHlVcGRhdGVUaW1lOwogI2Vsc2UKICAgICBJbnRSZWN0IG1fZml4ZWRWaXNp
YmxlQ29udGVudFJlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsVmlld0lPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3
SU9TLm1tCmluZGV4IDMwMGEwMDc2MWExYThkY2Q3MjYxZmI2Zjk0ODdkMTcxOTA2YTJhMjguLjIx
YTMyYmNhMzk5M2ZjM2VjZTRhZDMxMGZjYzk2MGViMmY1OTljYWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tCkBAIC0xMTksMTAgKzExOSwxMSBAQCB2
b2lkIFNjcm9sbFZpZXc6OnNldFVub2JzY3VyZWRDb250ZW50UmVjdChjb25zdCBJbnRSZWN0JiBy
ZWN0KQogICAgIG1fdW5vYnNjdXJlZENvbnRlbnRSZWN0ID0gcmVjdDsKIH0KIAotdm9pZCBTY3Jv
bGxWaWV3OjpzZXRTY3JvbGxWZWxvY2l0eShkb3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5LCBkb3Vi
bGUgdmVydGljYWxWZWxvY2l0eSwgZG91YmxlIHRpbWVzdGFtcCkKK3ZvaWQgU2Nyb2xsVmlldzo6
c2V0U2Nyb2xsVmVsb2NpdHkoZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRp
Y2FsVmVsb2NpdHksIGRvdWJsZSBzY2FsZUNoYW5nZVJhdGUsIGRvdWJsZSB0aW1lc3RhbXApCiB7
CiAgICAgbV9ob3Jpem9udGFsVmVsb2NpdHkgPSBob3Jpem9udGFsVmVsb2NpdHk7CiAgICAgbV92
ZXJ0aWNhbFZlbG9jaXR5ID0gdmVydGljYWxWZWxvY2l0eTsKKyAgICBtX3NjYWxlQ2hhbmdlUmF0
ZSA9IHNjYWxlQ2hhbmdlUmF0ZTsKICAgICBtX2xhc3RWZWxvY2l0eVVwZGF0ZVRpbWUgPSB0aW1l
c3RhbXA7CiB9CiAKQEAgLTE0OCw3ICsxNDksNyBAQCBGbG9hdFJlY3QgU2Nyb2xsVmlldzo6Y29t
cHV0ZUNvdmVyYWdlUmVjdChkb3VibGUgaG9yaXpvbnRhbE1hcmdpbiwgZG91YmxlIHZlcnRpYwog
ICAgICAgICAgICAgZnV0dXJlUmVjdC5zZXRZKHN0ZDo6bWF4KGZ1dHVyZVJlY3QueSgpIC0gdmVy
dGljYWxNYXJnaW4sIDAuKSk7CiAgICAgfQogCi0gICAgaWYgKCFtX2hvcml6b250YWxWZWxvY2l0
eSAmJiAhbV92ZXJ0aWNhbFZlbG9jaXR5KSB7CisgICAgaWYgKG1fc2NhbGVDaGFuZ2VSYXRlIDw9
IDAgJiYgIW1faG9yaXpvbnRhbFZlbG9jaXR5ICYmICFtX3ZlcnRpY2FsVmVsb2NpdHkpIHsKICAg
ICAgICAgZnV0dXJlUmVjdC5zZXRXaWR0aChmdXR1cmVSZWN0LndpZHRoKCkgKyBob3Jpem9udGFs
TWFyZ2luKTsKICAgICAgICAgZnV0dXJlUmVjdC5zZXRIZWlnaHQoZnV0dXJlUmVjdC5oZWlnaHQo
KSArIHZlcnRpY2FsTWFyZ2luKTsKICAgICAgICAgZnV0dXJlUmVjdC5zZXRYKHN0ZDo6bWF4KGZ1
dHVyZVJlY3QueCgpIC0gaG9yaXpvbnRhbE1hcmdpbiAvIDIsIDAuKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAKaW5k
ZXggMDcyNDE5MDIzZjQzNDY2NzJlMjI3N2RmMTBhMTE3MmI2ZjdjNWNlOS4uNDE0OGNlZTIwNGEw
MTYxYzczZGEwMWM4OTEyZGY4MTgwN2VjMWNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmNwcApAQCAtNDEsNiArNDEs
NyBAQCB2b2lkIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm86OmVuY29kZShJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fdGltZXN0YW1wOwog
ICAgIGVuY29kZXIgPDwgbV9ob3Jpem9udGFsVmVsb2NpdHk7CiAgICAgZW5jb2RlciA8PCBtX3Zl
cnRpY2FsVmVsb2NpdHk7CisgICAgZW5jb2RlciA8PCBtX3NjYWxlQ2hhbmdlUmF0ZTsKIH0KIAog
Ym9vbCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjpkZWNvZGUoSVBDOjpBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIHJlc3VsdCkKQEAg
LTYzLDYgKzY0LDggQEAgYm9vbCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjpkZWNvZGUo
SVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFZpc2libGUKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fdmVydGljYWxWZWxvY2l0eSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5t
X3NjYWxlQ2hhbmdlUmF0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0
cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50
UmVjdFVwZGF0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvLmgKaW5kZXggMTZlYzYyYmVmZjYzMDU5OWY2OWFmYzgzOGVmZjNmYjY3YzFl
N2IzNC4uNzU5OTE2NjFjNzYyMzYzMTA2ZWM5MjEwNTZhZGQzOGMxNTkyMjZiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5o
CkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgVmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlSW5mbyh1aW50NjRfdCB1cGRhdGVJRCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiBleHBvc2VkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVk
UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwg
ZG91YmxlIHNjYWxlLCBib29sIGluU3RhYmxlU3RhdGUsIGRvdWJsZSB0aW1lc3RhbXAsIGRvdWJs
ZSBob3Jpem9udGFsVmVsb2NpdHksIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5KQorICAgIFZpc2li
bGVDb250ZW50UmVjdFVwZGF0ZUluZm8odWludDY0X3QgdXBkYXRlSUQsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgZXhwb3NlZFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNj
dXJlZFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgY3VzdG9tRml4ZWRQb3NpdGlvblJl
Y3QsIGRvdWJsZSBzY2FsZSwgYm9vbCBpblN0YWJsZVN0YXRlLCBkb3VibGUgdGltZXN0YW1wLCBk
b3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5LCBkb3VibGUgdmVydGljYWxWZWxvY2l0eSwgZG91Ymxl
IHNjYWxlQ2hhbmdlUmF0ZSkKICAgICAgICAgOiBtX2V4cG9zZWRSZWN0KGV4cG9zZWRSZWN0KQog
ICAgICAgICAsIG1fdW5vYnNjdXJlZFJlY3QodW5vYnNjdXJlZFJlY3QpCiAgICAgICAgICwgbV9j
dXN0b21GaXhlZFBvc2l0aW9uUmVjdChjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCkKQEAgLTU0LDYg
KzU0LDcgQEAgcHVibGljOgogICAgICAgICAsIG1fdGltZXN0YW1wKHRpbWVzdGFtcCkKICAgICAg
ICAgLCBtX2hvcml6b250YWxWZWxvY2l0eShob3Jpem9udGFsVmVsb2NpdHkpCiAgICAgICAgICwg
bV92ZXJ0aWNhbFZlbG9jaXR5KHZlcnRpY2FsVmVsb2NpdHkpCisgICAgICAgICwgbV9zY2FsZUNo
YW5nZVJhdGUoc2NhbGVDaGFuZ2VSYXRlKQogICAgIHsKICAgICB9CiAKQEAgLTY0LDYgKzY1LDEx
IEBAIHB1YmxpYzoKICAgICB1aW50NjRfdCB1cGRhdGVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fdXBk
YXRlSUQ7IH0KICAgICBib29sIGluU3RhYmxlU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2luU3Rh
YmxlU3RhdGU7IH0KIAorICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVzdGFtcDsgfQorICAgIGRvdWJsZSBob3Jpem9udGFsVmVsb2NpdHkoKSBjb25zdCB7IHJldHVy
biBtX2hvcml6b250YWxWZWxvY2l0eTsgfQorICAgIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5KCkg
Y29uc3QgeyByZXR1cm4gbV92ZXJ0aWNhbFZlbG9jaXR5OyB9CisgICAgZG91YmxlIHNjYWxlQ2hh
bmdlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGVDaGFuZ2VSYXRlOyB9CisKICAgICB2b2lk
IGVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIGRl
Y29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8m
KTsKIApAQCAtNzQsMTAgKzgwLDEwIEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fc2NhbGU7CiAg
ICAgdWludDY0X3QgbV91cGRhdGVJRDsKICAgICBib29sIG1faW5TdGFibGVTdGF0ZTsKLXB1Ymxp
YzoKICAgICBkb3VibGUgbV90aW1lc3RhbXA7CiAgICAgZG91YmxlIG1faG9yaXpvbnRhbFZlbG9j
aXR5OwogICAgIGRvdWJsZSBtX3ZlcnRpY2FsVmVsb2NpdHk7CisgICAgZG91YmxlIG1fc2NhbGVD
aGFuZ2VSYXRlOwogfTsKIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBWaXNpYmxlQ29u
dGVudFJlY3RVcGRhdGVJbmZvJiBhLCBjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZv
JiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmlu
ZGV4IGFiMTFlNDMwZThjZmY0YWNmMDUxMzFiYzI0MjEwZGJiMTRmNDUwODkuLjk5NGU1ODhmYjQ0
MTUyZDg5Mjk3N2FmNmQ1ODIyNmFhY2ZjZTQ0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTY1LDYgKzY1LDI2IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEhpc3RvcmljYWxWZWxvY2l0
eURhdGEgewogcHVibGljOgorICAgIHN0cnVjdCBWZWxvY2l0eURhdGEgeworICAgICAgICBWZWxv
Y2l0eURhdGEoKQorICAgICAgICAgICAgOiBob3Jpem9udGFsVmVsb2NpdHkoMCkKKyAgICAgICAg
ICAgICwgdmVydGljYWxWZWxvY2l0eSgwKQorICAgICAgICAgICAgLCBzY2FsZUNoYW5nZVJhdGUo
MCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgVmVsb2NpdHlEYXRhKGRvdWJsZSBo
b3Jpem9udGFsVmVsb2NpdHksIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5LCBkb3VibGUgc2NhbGVD
aGFuZ2VSYXRlKQorICAgICAgICAgICAgOiBob3Jpem9udGFsVmVsb2NpdHkoaG9yaXpvbnRhbFZl
bG9jaXR5KQorICAgICAgICAgICAgLCB2ZXJ0aWNhbFZlbG9jaXR5KHZlcnRpY2FsVmVsb2NpdHkp
CisgICAgICAgICAgICAsIHNjYWxlQ2hhbmdlUmF0ZShzY2FsZUNoYW5nZVJhdGUpCisgICAgICAg
IHsKKyAgICAgICAgfQorCisgICAgICAgIGRvdWJsZSBob3Jpem9udGFsVmVsb2NpdHk7CisgICAg
ICAgIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5OworICAgICAgICBkb3VibGUgc2NhbGVDaGFuZ2VS
YXRlOworICAgIH07CisKICAgICBIaXN0b3JpY2FsVmVsb2NpdHlEYXRhKCkKICAgICAgICAgOiBt
X2hpc3RvcnlTaXplKDApCiAgICAgICAgICwgbV9sYXRlc3REYXRhSW5kZXgoMCkKQEAgLTcyLDEz
ICs5MiwxMyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIENHU2l6ZSB2ZWxvY2l0eUZv
ck5ld0RhdGEoQ0dQb2ludCBuZXdQb3NpdGlvbiwgZG91YmxlIHRpbWVzdGFtcCkKKyAgICBWZWxv
Y2l0eURhdGEgdmVsb2NpdHlGb3JOZXdEYXRhKENHUG9pbnQgbmV3UG9zaXRpb24sIGRvdWJsZSBz
Y2FsZSwgZG91YmxlIHRpbWVzdGFtcCkKICAgICB7CiAgICAgICAgIC8vIER1ZSB0byBhbGwgdGhl
IHNvdXJjZSBvZiByZWN0IHVwZGF0ZSwgdGhlIGlucHV0IGlzIHZlcnkgbm9pc3kuIFRvIHNtb290
aCB0aGUgb3V0cHV0LCB3ZSBhY2N1bXVsYXRlIGFsbCBjaGFuZ2VzCiAgICAgICAgIC8vIHdpdGhp
biAxIGZyYW1lIGFzIGEgc2luZ2xlIHVwZGF0ZS4gTm8gc3BlZWQgY29tcHV0YXRpb24gaXMgZXZl
ciBkb25lIG9uIGRhdGEgd2l0aGluIHRoZSBzYW1lIGZyYW1lLgogICAgICAgICBjb25zdCBkb3Vi
bGUgZmlsdGVyaW5nVGhyZXNob2xkID0gMSAvIDYwLjsKIAotICAgICAgICBDR1NpemUgdmVsb2Np
dHkgPSBDR1NpemVaZXJvOworICAgICAgICBWZWxvY2l0eURhdGEgdmVsb2NpdHlEYXRhOwogICAg
ICAgICBpZiAobV9oaXN0b3J5U2l6ZSA+IDApIHsKICAgICAgICAgICAgIHVuc2lnbmVkIG9sZGVz
dERhdGFJbmRleDsKICAgICAgICAgICAgIHVuc2lnbmVkIGRpc3RhbmNlVG9MYXN0SGlzdG9yaWNh
bERhdGEgPSBtX2hpc3RvcnlTaXplIC0gMTsKQEAgLTg4LDI1ICsxMDgsMjcgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgIG9sZGVzdERhdGFJbmRleCA9IG1faGlzdG9yeVNpemUgLSAoZGlzdGFu
Y2VUb0xhc3RIaXN0b3JpY2FsRGF0YSAtIG1fbGF0ZXN0RGF0YUluZGV4KTsKIAogICAgICAgICAg
ICAgZG91YmxlIHRpbWVEZWx0YSA9IHRpbWVzdGFtcCAtIG1faGlzdG9yeVtvbGRlc3REYXRhSW5k
ZXhdLnRpbWVzdGFtcDsKLSAgICAgICAgICAgIGlmICh0aW1lRGVsdGEgPiBmaWx0ZXJpbmdUaHJl
c2hvbGQpCi0gICAgICAgICAgICAgICAgdmVsb2NpdHkgPSAgQ0dTaXplTWFrZSgobmV3UG9zaXRp
b24ueCAtIG1faGlzdG9yeVtvbGRlc3REYXRhSW5kZXhdLnBvc2l0aW9uLngpIC8gdGltZURlbHRh
LCAobmV3UG9zaXRpb24ueSAtIG1faGlzdG9yeVtvbGRlc3REYXRhSW5kZXhdLnBvc2l0aW9uLnkp
IC8gdGltZURlbHRhKTsKKyAgICAgICAgICAgIGlmICh0aW1lRGVsdGEgPiBmaWx0ZXJpbmdUaHJl
c2hvbGQpIHsKKyAgICAgICAgICAgICAgICBEYXRhJiBvbGRlc3REYXRhID0gbV9oaXN0b3J5W29s
ZGVzdERhdGFJbmRleF07CisgICAgICAgICAgICAgICAgdmVsb2NpdHlEYXRhID0gVmVsb2NpdHlE
YXRhKChuZXdQb3NpdGlvbi54IC0gb2xkZXN0RGF0YS5wb3NpdGlvbi54KSAvIHRpbWVEZWx0YSwg
KG5ld1Bvc2l0aW9uLnkgLSBvbGRlc3REYXRhLnBvc2l0aW9uLnkpIC8gdGltZURlbHRhLCAoc2Nh
bGUgLSBvbGRlc3REYXRhLnNjYWxlKSAvIHRpbWVEZWx0YSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAogICAgICAgICBkb3VibGUgdGltZVNpbmNlTGFzdEFwcGVuZCA9IHRpbWVzdGFtcCAt
IG1fbGFzdEFwcGVuZFRpbWVzdGFtcDsKICAgICAgICAgaWYgKHRpbWVTaW5jZUxhc3RBcHBlbmQg
PiBmaWx0ZXJpbmdUaHJlc2hvbGQpCi0gICAgICAgICAgICBhcHBlbmQobmV3UG9zaXRpb24sIHRp
bWVzdGFtcCk7CisgICAgICAgICAgICBhcHBlbmQobmV3UG9zaXRpb24sIHNjYWxlLCB0aW1lc3Rh
bXApOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2hpc3RvcnlbbV9sYXRlc3REYXRhSW5k
ZXhdID0geyB0aW1lc3RhbXAsIG5ld1Bvc2l0aW9uIH07Ci0gICAgICAgIHJldHVybiB2ZWxvY2l0
eTsKKyAgICAgICAgICAgIG1faGlzdG9yeVttX2xhdGVzdERhdGFJbmRleF0gPSB7IHRpbWVzdGFt
cCwgbmV3UG9zaXRpb24sIHNjYWxlIH07CisgICAgICAgIHJldHVybiB2ZWxvY2l0eURhdGE7CiAg
ICAgfQogCiAgICAgdm9pZCBjbGVhcigpIHsgbV9oaXN0b3J5U2l6ZSA9IDA7IH0KIAogcHJpdmF0
ZToKLSAgICB2b2lkIGFwcGVuZChDR1BvaW50IG5ld1Bvc2l0aW9uLCBkb3VibGUgdGltZXN0YW1w
KQorICAgIHZvaWQgYXBwZW5kKENHUG9pbnQgbmV3UG9zaXRpb24sIGRvdWJsZSBzY2FsZSwgZG91
YmxlIHRpbWVzdGFtcCkKICAgICB7CiAgICAgICAgIG1fbGF0ZXN0RGF0YUluZGV4ID0gKG1fbGF0
ZXN0RGF0YUluZGV4ICsgMSkgJSBtYXhIaXN0b3J5RGVwdGg7Ci0gICAgICAgIG1faGlzdG9yeVtt
X2xhdGVzdERhdGFJbmRleF0gPSB7IHRpbWVzdGFtcCwgbmV3UG9zaXRpb24gfTsKKyAgICAgICAg
bV9oaXN0b3J5W21fbGF0ZXN0RGF0YUluZGV4XSA9IHsgdGltZXN0YW1wLCBuZXdQb3NpdGlvbiwg
c2NhbGUgfTsKIAogICAgICAgICB1bnNpZ25lZCBzaXplID0gbV9oaXN0b3J5U2l6ZSArIDE7CiAg
ICAgICAgIGlmIChzaXplIDw9IG1heEhpc3RvcnlEZXB0aCkKQEAgLTEyMiwxMCArMTQ0LDEwIEBA
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9sYXRlc3REYXRhSW5kZXg7CiAgICAgZG91YmxlIG1f
bGFzdEFwcGVuZFRpbWVzdGFtcDsKIAotICAgIC8vIEZJWE1FOiBhZGQgc2NhbGUgaW5mb3JtYXRp
b24uCiAgICAgc3RydWN0IERhdGEgewogICAgICAgICBkb3VibGUgdGltZXN0YW1wOwogICAgICAg
ICBDR1BvaW50IHBvc2l0aW9uOworICAgICAgICBkb3VibGUgc2NhbGU7CiAgICAgfSBtX2hpc3Rv
cnlbbWF4SGlzdG9yeURlcHRoXTsKIH07CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKQEAgLTI4MCw5
ICszMDIsOSBAQCBzdGF0aWMgaW5saW5lIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdEZyb21F
eHBvc2VkUmVjdChDR1JlY3QgdW5vYnNjdXJlZFJlY3QsCiAtICh2b2lkKWRpZFVwZGF0ZVZpc2li
bGVSZWN0OihDR1JlY3QpdmlzaWJsZVJlY3QgdW5vYnNjdXJlZFJlY3Q6KENHUmVjdCl1bm9ic2N1
cmVkUmVjdCBzY2FsZTooQ0dGbG9hdCl6b29tU2NhbGUgaW5TdGFibGVTdGF0ZTooQk9PTClpc1N0
YWJsZVN0YXRlCiB7CiAgICAgZG91YmxlIHRpbWVzdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwotICAgIENHU2l6ZSB2ZWxvY2l0eSA9IENHU2l6ZVplcm87CisgICAgSGlzdG9y
aWNhbFZlbG9jaXR5RGF0YTo6VmVsb2NpdHlEYXRhIHZlbG9jaXR5RGF0YTsKICAgICBpZiAoIWlz
U3RhYmxlU3RhdGUpCi0gICAgICAgIHZlbG9jaXR5ID0gX2hpc3RvcmljYWxLaW5lbWF0aWNEYXRh
LnZlbG9jaXR5Rm9yTmV3RGF0YSh2aXNpYmxlUmVjdC5vcmlnaW4sIHRpbWVzdGFtcCk7CisgICAg
ICAgIHZlbG9jaXR5RGF0YSA9IF9oaXN0b3JpY2FsS2luZW1hdGljRGF0YS52ZWxvY2l0eUZvck5l
d0RhdGEodmlzaWJsZVJlY3Qub3JpZ2luLCB6b29tU2NhbGUsIHRpbWVzdGFtcCk7CiAgICAgZWxz
ZQogICAgICAgICBfaGlzdG9yaWNhbEtpbmVtYXRpY0RhdGEuY2xlYXIoKTsKIApAQCAtMjk1LDcg
KzMxNyw3IEBAIHN0YXRpYyBpbmxpbmUgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0RnJvbUV4
cG9zZWRSZWN0KENHUmVjdCB1bm9ic2N1cmVkUmVjdCwKICAgICB9CiAKICAgICBGbG9hdFJlY3Qg
Y3VzdG9tRml4ZWRQb3NpdGlvblJlY3QgPSBmaXhlZFBvc2l0aW9uUmVjdEZyb21FeHBvc2VkUmVj
dCh1bm9ic2N1cmVkUmVjdCwgW3NlbGYgYm91bmRzXS5zaXplLCB6b29tU2NhbGUpOwotICAgIF9w
YWdlLT51cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8oX3BhZ2UtPm5leHRWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJRCgpLCB2aXNpYmxlUmVjdCwg
dW5vYnNjdXJlZFJlY3QsIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBmaWx0ZXJlZFNjYWxlLCBp
c1N0YWJsZVN0YXRlLCB0aW1lc3RhbXAsIHZlbG9jaXR5LndpZHRoLCB2ZWxvY2l0eS5oZWlnaHQp
KTsKKyAgICBfcGFnZS0+dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyhWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvKF9wYWdlLT5uZXh0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSUQoKSwgdmlz
aWJsZVJlY3QsIHVub2JzY3VyZWRSZWN0LCBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgZmlsdGVy
ZWRTY2FsZSwgaXNTdGFibGVTdGF0ZSwgdGltZXN0YW1wLCB2ZWxvY2l0eURhdGEuaG9yaXpvbnRh
bFZlbG9jaXR5LCB2ZWxvY2l0eURhdGEudmVydGljYWxWZWxvY2l0eSwgdmVsb2NpdHlEYXRhLnNj
YWxlQ2hhbmdlUmF0ZSkpOwogICAgIAogICAgIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHkqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gX3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHkoKTsKICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdh
dGVkU2Nyb2xsaW5nKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5yb290U2Nyb2xsaW5nTm9kZUlEKCks
IHVub2JzY3VyZWRSZWN0LCB6b29tU2NhbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGIxMWFjMDNmOGFkYTEwMjM3
MTQ5MzQyNzY0OTRiMWFjYjBhYjIyZmUuLjBiZDlmNzcyYTNlMmM0NGQ2ZmUzMTkyOWE4MTQwN2Rl
M2U5ZjA4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0KQEAgLTE3MjEsMTcgKzE3MjEsNDQgQEAgdm9pZCBXZWJQYWdlOjph
cHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpXZWJVSUFwcGxpY2F0aW9uRGlkQmVj
b21lQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogfQogCitzdGF0aWMgaW5saW5lIEZs
b2F0UmVjdCBhZGp1c3RFeHBvc2VkUmVjdEZvckJvdW5kZWRTY2FsZShjb25zdCBGbG9hdFJlY3Qm
IGV4cG9zZWRSZWN0LCBkb3VibGUgZXhwb3NlZFJlY3RTY2FsZSwgZG91YmxlIGJvdW5kZWRTY2Fs
ZSkKK3sKKyAgICBpZiAoZXhwb3NlZFJlY3RTY2FsZSA8IGJvdW5kZWRTY2FsZSkKKyAgICAgICAg
cmV0dXJuIGV4cG9zZWRSZWN0OworCisgICAgZG91YmxlIG92ZXJzY2FsZWRXaWR0aCA9IGV4cG9z
ZWRSZWN0LndpZHRoKCk7CisgICAgZG91YmxlIG1pc3NpbmdIb3Jpem9uYWxNYXJnaW4gPSBleHBv
c2VkUmVjdC53aWR0aCgpICogZXhwb3NlZFJlY3RTY2FsZSAvIGJvdW5kZWRTY2FsZSAtIG92ZXJz
Y2FsZWRXaWR0aDsKKworICAgIGRvdWJsZSBvdmVyc2NhbGVkSGVpZ2h0ID0gZXhwb3NlZFJlY3Qu
aGVpZ2h0KCk7CisgICAgZG91YmxlIG1pc3NpbmdWZXJ0aWNhbE1hcmdpbiA9IGV4cG9zZWRSZWN0
LmhlaWdodCgpICogZXhwb3NlZFJlY3RTY2FsZSAvIGJvdW5kZWRTY2FsZSAtIG92ZXJzY2FsZWRI
ZWlnaHQ7CisKKyAgICByZXR1cm4gRmxvYXRSZWN0KGV4cG9zZWRSZWN0LngoKSAtIG1pc3NpbmdI
b3Jpem9uYWxNYXJnaW4gLyAyLCBleHBvc2VkUmVjdC55KCkgLSBtaXNzaW5nVmVydGljYWxNYXJn
aW4gLyAyLCBleHBvc2VkUmVjdC53aWR0aCgpICsgbWlzc2luZ0hvcml6b25hbE1hcmdpbiwgZXhw
b3NlZFJlY3QuaGVpZ2h0KCkgKyBtaXNzaW5nVmVydGljYWxNYXJnaW4pOworfQorCitzdGF0aWMg
aW5saW5lIHZvaWQgYWRqdXN0VmVsb2NpdHlEYXRhRm9yQm91bmRlZFNjYWxlKGRvdWJsZSYgaG9y
aXpvbnRhbFZlbG9jaXR5LCBkb3VibGUmIHZlcnRpY2FsVmVsb2NpdHksIGRvdWJsZSYgc2NhbGVD
aGFuZ2VSYXRlLCBkb3VibGUgZXhwb3NlZFJlY3RTY2FsZSwgZG91YmxlIGJvdW5kZWRTY2FsZSkK
K3sKKyAgICBpZiAoc2NhbGVDaGFuZ2VSYXRlKSB7CisgICAgICAgIGhvcml6b250YWxWZWxvY2l0
eSA9IDA7CisgICAgICAgIHZlcnRpY2FsVmVsb2NpdHkgPSAwOworICAgIH0KKworICAgIGlmIChl
eHBvc2VkUmVjdFNjYWxlICE9IGJvdW5kZWRTY2FsZSkKKyAgICAgICAgc2NhbGVDaGFuZ2VSYXRl
ID0gMDsKK30KKwogdm9pZCBXZWJQYWdlOjp1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0
IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8pCiB7CiAgICAgbV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSUQgPSB2aXNpYmxlQ29u
dGVudFJlY3RVcGRhdGVJbmZvLnVwZGF0ZUlEKCk7CiAKKyAgICBkb3VibGUgYm91bmRlZFNjYWxl
ID0gc3RkOjptaW4obV92aWV3cG9ydENvbmZpZ3VyYXRpb24ubWF4aW11bVNjYWxlKCksIHN0ZDo6
bWF4KG1fdmlld3BvcnRDb25maWd1cmF0aW9uLm1pbmltdW1TY2FsZSgpLCB2aXNpYmxlQ29udGVu
dFJlY3RVcGRhdGVJbmZvLnNjYWxlKCkpKTsKKwogICAgIEZsb2F0UmVjdCBleHBvc2VkUmVjdCA9
IHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uZXhwb3NlZFJlY3QoKTsKLSAgICBtX2RyYXdp
bmdBcmVhLT5zZXRFeHBvc2VkQ29udGVudFJlY3QoZW5jbG9zaW5nSW50UmVjdChleHBvc2VkUmVj
dCkpOworICAgIEZsb2F0UmVjdCBhZGp1c3RlZEV4cG9zZWRSZWN0ID0gYWRqdXN0RXhwb3NlZFJl
Y3RGb3JCb3VuZGVkU2NhbGUoZXhwb3NlZFJlY3QsIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8uc2NhbGUoKSwgYm91bmRlZFNjYWxlKTsKKyAgICBtX2RyYXdpbmdBcmVhLT5zZXRFeHBvc2Vk
Q29udGVudFJlY3QoZW5jbG9zaW5nSW50UmVjdChhZGp1c3RlZEV4cG9zZWRSZWN0KSk7CiAKICAg
ICBJbnRSZWN0IHJvdW5kZWRVbm9ic2N1cmVkUmVjdCA9IHJvdW5kZWRJbnRSZWN0KHZpc2libGVD
b250ZW50UmVjdFVwZGF0ZUluZm8udW5vYnNjdXJlZFJlY3QoKSk7CiAgICAgSW50UG9pbnQgc2Ny
b2xsUG9zaXRpb24gPSByb3VuZGVkVW5vYnNjdXJlZFJlY3QubG9jYXRpb24oKTsKIAotICAgIGRv
dWJsZSBib3VuZGVkU2NhbGUgPSBzdGQ6Om1pbihtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5tYXhp
bXVtU2NhbGUoKSwgc3RkOjptYXgobV92aWV3cG9ydENvbmZpZ3VyYXRpb24ubWluaW11bVNjYWxl
KCksIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uc2NhbGUoKSkpOwogICAgIGZsb2F0IGZs
b2F0Qm91bmRlZFNjYWxlID0gYm91bmRlZFNjYWxlOwogICAgIGlmIChmbG9hdEJvdW5kZWRTY2Fs
ZSAhPSBtX3BhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpKSB7CiAgICAgICAgIG1fc2NhbGVXYXNTZXRC
eVVJUHJvY2VzcyA9IHRydWU7CkBAIC0xNzQ0LDcgKzE3NzEsMTMgQEAgdm9pZCBXZWJQYWdlOjp1
cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8mIHZpc2kKIAogICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRTY3JvbGxPZmZz
ZXQoc2Nyb2xsUG9zaXRpb24pOwogICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRV
bm9ic2N1cmVkQ29udGVudFJlY3Qocm91bmRlZFVub2JzY3VyZWRSZWN0KTsKLSAgICBtX3BhZ2Ut
Pm1haW5GcmFtZSgpLnZpZXcoKS0+c2V0U2Nyb2xsVmVsb2NpdHkodmlzaWJsZUNvbnRlbnRSZWN0
VXBkYXRlSW5mby5tX2hvcml6b250YWxWZWxvY2l0eSwgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
SW5mby5tX3ZlcnRpY2FsVmVsb2NpdHksIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8ubV90
aW1lc3RhbXApOworCisgICAgZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSA9IHZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8uaG9yaXpvbnRhbFZlbG9jaXR5KCk7CisgICAgZG91YmxlIHZlcnRp
Y2FsVmVsb2NpdHkgPSB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLnZlcnRpY2FsVmVsb2Np
dHkoKTsKKyAgICBkb3VibGUgc2NhbGVDaGFuZ2VSYXRlID0gdmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSW5mby5zY2FsZUNoYW5nZVJhdGUoKTsKKyAgICBhZGp1c3RWZWxvY2l0eURhdGFGb3JCb3Vu
ZGVkU2NhbGUoaG9yaXpvbnRhbFZlbG9jaXR5LCB2ZXJ0aWNhbFZlbG9jaXR5LCBzY2FsZUNoYW5n
ZVJhdGUsIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uc2NhbGUoKSwgYm91bmRlZFNjYWxl
KTsKKworICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRTY3JvbGxWZWxvY2l0eSho
b3Jpem9udGFsVmVsb2NpdHksIHZlcnRpY2FsVmVsb2NpdHksIHNjYWxlQ2hhbmdlUmF0ZSwgdmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby50aW1lc3RhbXAoKSk7CiAKICAgICBpZiAodmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5pblN0YWJsZVN0YXRlKCkpCiAgICAgICAgIG1fcGFnZS0+
bWFpbkZyYW1lKCkudmlldygpLT5zZXRDdXN0b21GaXhlZFBvc2l0aW9uTGF5b3V0UmVjdChlbmNs
b3NpbmdJbnRSZWN0KHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3VzdG9tRml4ZWRQb3Np
dGlvblJlY3QoKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227982</attachid>
            <date>2014-03-27 14:41:11 -0700</date>
            <delta_ts>2014-03-27 14:41:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130761-20140327144051.patch</filename>
            <type>text/plain</type>
            <size>19321</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg2ZTk0ZTVmZmYzOWJh
Y2M1YTVhNGQ4MmMyNDA4NjlmNmJkYWM2Ni4uYjAyNzQxMmU4ZjY2NTBiYWZlZTQ5MmU0NjUzZWJi
MGNiYWEzYTk5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAzLTI3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
Q29tcHV0ZSBhIGdvb2QgZXhwb3NlZCByZWN0IHdoZW4gc2NhbGluZyBXS0NvbnRlbnRWaWV3Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA3NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZv
cm0vaW9zL1Njcm9sbFZpZXdJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxWZWxvY2l0eSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpjb21wdXRl
Q292ZXJhZ2VSZWN0KToKKyAgICAgICAgV2hpbGUgc2NhbGluZyBpbiwgZG8gbm90IGFkZCBtYXJn
aW5zIHRpbGVzLiBXaGVuIHNjYWxpbmcgb3V0LCBhZGQgMSBtYXJnaW4gdGlsZSBzaXplCisgICAg
ICAgIGFsbCBhcm91bmQuCisKIDIwMTQtMDMtMjcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGJyYW5jaGVzIGZyb20g
TGl2ZU5vZGVMaXN0IHRyYXZlcnNhbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNmYmU3OGUxYzA1YTAwYzlmNGM3
ZTU4OTYzMmQxNWYwMjVjNTQzNzQuLmU5NjJiYzhiN2VjOWMzNjc2ODBhODM3MjRhMjVlNmIyYmIw
NTI1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAxNC0wMy0yNyAgQmVuamFtaW4g
UG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXVtXSzJdIENvbXB1
dGUgYSBnb29kIGV4cG9zZWQgcmVjdCB3aGVuIHNjYWxpbmcgV0tDb250ZW50VmlldworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNzYxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZCBhIHNpbXBsZSBoZXVy
aXN0aWMgdG8gaW1wcm92ZSB0aWxpbmcgd2hpbGUgem9vbWluZy4gSW4gdGhlb3J5IHdlIGNvdWxk
IHRha2UgdGhlIHpvb20KKyAgICAgICAgY2VudGVyIGFuZCBzY2FsZVJhdGUgdG8gc3BsaXQgdGhl
IHNwZWVkIGJldHdlZW4gc2Nyb2xsaW5nIGFuZCBwaW5jaGluZy4gSW4gcHJhY3RpY2UsCisgICAg
ICAgIHpvb20gaXMgdHJhbnNpdG9yeSBhbmQgaXMgbm90IGFzIHByZWRpY3RhYmxlIGFzIHNjcm9s
bGluZywgc28gdGhpcyBwYXRjaCBqdXN0IGRvZXMgYSB2ZXJ5CisgICAgICAgIHNpbXBsZSBoZXVy
aXN0aWM6CisgICAgICAgIC1XaGVuIHpvb21pbmcgaW4sIGRvIG5vdCBleHBhbmQgY292ZXJhZ2Uu
CisgICAgICAgIC1XaGVuIHpvb21pbmcgb3V0LCBhZGQgaGFsZiBhIHRpbGUgc2l6ZSBvbiBldmVy
eSBzaWRlLgorCisgICAgICAgICogU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm86OlZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RV
cGRhdGVJbmZvOjp0aW1lc3RhbXApOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvOjpob3Jpem9udGFsVmVsb2NpdHkpOgorICAgICAgICAoV2ViS2l0OjpWaXNp
YmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjp2ZXJ0aWNhbFZlbG9jaXR5KToKKyAgICAgICAgKFdl
YktpdDo6VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbzo6c2NhbGVDaGFuZ2VSYXRlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgIChXZWJLaXQ6
Okhpc3RvcmljYWxWZWxvY2l0eURhdGE6OlZlbG9jaXR5RGF0YTo6VmVsb2NpdHlEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6SGlzdG9yaWNhbFZlbG9jaXR5RGF0YTo6dmVsb2NpdHlGb3JOZXdEYXRh
KToKKyAgICAgICAgKFdlYktpdDo6SGlzdG9yaWNhbFZlbG9jaXR5RGF0YTo6YXBwZW5kKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBkaWRVcGRhdGVWaXNpYmxlUmVjdDp1bm9ic2N1cmVkUmVj
dDpzY2FsZTppblN0YWJsZVN0YXRlOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbToKKworICAgICAgICAoV2ViS2l0OjphZGp1c3RFeHBvc2VkUmVjdEZv
ckJvdW5kZWRTY2FsZSk6CisgICAgICAgIFdoZW4gem9vbWluZyBwYXN0IHRoZSBtYXhpbXVtIHNp
emUsIGFkanVzdCB0aGUgZXhwb3NlZCByZWN0IHRvIGNvbnRpbnVlIHRpbGluZyB0aGUgYXJlYQor
ICAgICAgICBhdCBtYXhpbXVtIHNpemUuIE90aGVyd2lzZSwgd2UgdGlsZSBhIHRpbnkgYXJlYSwg
YW5kIGhhdmUgdG8gcmV0aWxlIGxhcmdlciB3aGVuIHRoZSBhbmltYXRpb24KKyAgICAgICAgcHVs
bCBiYWNrIHRoZSB2aWV3IHRvIG1heGltdW0gc2NhbGUuCisKKyAgICAgICAgKFdlYktpdDo6YWRq
dXN0VmVsb2NpdHlEYXRhRm9yQm91bmRlZFNjYWxlKToKKyAgICAgICAgU2luY2Ugd2UgZG8gbm90
IHNwbGl0IHRoZSB2ZWxvY2l0eSBmcm9tIHNjcm9sbGluZyBmcm9tIHRoZSBzY2FsaW5nLCBqdXN0
IGNsZWFyIHRoZSB2ZWxvY2l0eSB3aGVuIHpvb21pbmcuCisgICAgICAgIEFsc28gY2xlYXIgdGhl
IHNjYWxlQ2hhbmdlUmF0ZSB3aGVuIHRoZSBzY2FsZSBpcyBvdXQgb2YgYm91bmRzLiBUaGVyZSBp
cyBubyByZWFzb24gdG8gYWRkIHRpbGVzIGZvcgorICAgICAgICB0ZW1wb3Jhcnkgc3RhdGUuCisK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyk6CisK
IDIwMTQtMDMtMjcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgcmVsb2FkIGFuZCByZWxvYWRGcm9tT3JpZ2luIGFzIEFQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IDBiODllOTlhZDZjOTIwYzcwM2IyMmNmZDU2MGMxMDMz
MDMxOWMwZDUuLmNjMTMzYjBhOTViYjcwZTZiMWFkOTQ2NTUyOThjY2Q0MjBkNTY3YzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRFeHBvc2VkQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpOwogICAgIHZv
aWQgc2V0VW5vYnNjdXJlZENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKTsKIAotICAgIHZvaWQg
c2V0U2Nyb2xsVmVsb2NpdHkoZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRp
Y2FsVmVsb2NpdHksIGRvdWJsZSB0aW1lc3RhbXApOworICAgIHZvaWQgc2V0U2Nyb2xsVmVsb2Np
dHkoZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2NpdHksIGRv
dWJsZSBzY2FsZUNoYW5nZVJhdGUsIGRvdWJsZSB0aW1lc3RhbXApOwogICAgIEZsb2F0UmVjdCBj
b21wdXRlQ292ZXJhZ2VSZWN0KGRvdWJsZSBob3Jpem9udGFsTWFyZ2luLCBkb3VibGUgdmVydGlj
YWxNYXJnaW4pIGNvbnN0OwogCiAgICAgdm9pZCBzZXRBY3R1YWxTY3JvbGxQb3NpdGlvbihjb25z
dCBJbnRQb2ludCYpOwpAQCAtNDIwLDYgKzQyMCw3IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUg
bV9ob3Jpem9udGFsVmVsb2NpdHk7CiAgICAgZG91YmxlIG1fdmVydGljYWxWZWxvY2l0eTsKKyAg
ICBkb3VibGUgbV9zY2FsZUNoYW5nZVJhdGU7CiAgICAgZG91YmxlIG1fbGFzdFZlbG9jaXR5VXBk
YXRlVGltZTsKICNlbHNlCiAgICAgSW50UmVjdCBtX2ZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJT1MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbQppbmRleCAzMDBh
MDA3NjFhMWE4ZGNkNzI2MWZiNmY5NDg3ZDE3MTkwNmEyYTI4Li4yMWEzMmJjYTM5OTNmYzNlY2U0
YWQzMTBmY2M5NjBlYjJmNTk5Y2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsVmlld0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsVmlld0lPUy5tbQpAQCAtMTE5LDEwICsxMTksMTEgQEAgdm9pZCBTY3JvbGxWaWV3Ojpz
ZXRVbm9ic2N1cmVkQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBtX3Vub2Jz
Y3VyZWRDb250ZW50UmVjdCA9IHJlY3Q7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xs
VmVsb2NpdHkoZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2Np
dHksIGRvdWJsZSB0aW1lc3RhbXApCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbFZlbG9jaXR5
KGRvdWJsZSBob3Jpem9udGFsVmVsb2NpdHksIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5LCBkb3Vi
bGUgc2NhbGVDaGFuZ2VSYXRlLCBkb3VibGUgdGltZXN0YW1wKQogewogICAgIG1faG9yaXpvbnRh
bFZlbG9jaXR5ID0gaG9yaXpvbnRhbFZlbG9jaXR5OwogICAgIG1fdmVydGljYWxWZWxvY2l0eSA9
IHZlcnRpY2FsVmVsb2NpdHk7CisgICAgbV9zY2FsZUNoYW5nZVJhdGUgPSBzY2FsZUNoYW5nZVJh
dGU7CiAgICAgbV9sYXN0VmVsb2NpdHlVcGRhdGVUaW1lID0gdGltZXN0YW1wOwogfQogCkBAIC0x
NDgsNyArMTQ5LDcgQEAgRmxvYXRSZWN0IFNjcm9sbFZpZXc6OmNvbXB1dGVDb3ZlcmFnZVJlY3Qo
ZG91YmxlIGhvcml6b250YWxNYXJnaW4sIGRvdWJsZSB2ZXJ0aWMKICAgICAgICAgICAgIGZ1dHVy
ZVJlY3Quc2V0WShzdGQ6Om1heChmdXR1cmVSZWN0LnkoKSAtIHZlcnRpY2FsTWFyZ2luLCAwLikp
OwogICAgIH0KIAotICAgIGlmICghbV9ob3Jpem9udGFsVmVsb2NpdHkgJiYgIW1fdmVydGljYWxW
ZWxvY2l0eSkgeworICAgIGlmIChtX3NjYWxlQ2hhbmdlUmF0ZSA8PSAwICYmICFtX2hvcml6b250
YWxWZWxvY2l0eSAmJiAhbV92ZXJ0aWNhbFZlbG9jaXR5KSB7CiAgICAgICAgIGZ1dHVyZVJlY3Qu
c2V0V2lkdGgoZnV0dXJlUmVjdC53aWR0aCgpICsgaG9yaXpvbnRhbE1hcmdpbik7CiAgICAgICAg
IGZ1dHVyZVJlY3Quc2V0SGVpZ2h0KGZ1dHVyZVJlY3QuaGVpZ2h0KCkgKyB2ZXJ0aWNhbE1hcmdp
bik7CiAgICAgICAgIGZ1dHVyZVJlY3Quc2V0WChzdGQ6Om1heChmdXR1cmVSZWN0LngoKSAtIGhv
cml6b250YWxNYXJnaW4gLyAyLCAwLikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwCmluZGV4IDA3MjQxOTAyM2Y0MzQ2
NjcyZTIyNzdkZjEwYTExNzJiNmY3YzVjZTkuLjQxNDhjZWUyMDRhMDE2MWM3M2RhMDFjODkxMmRm
ODE4MDdlYzFjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29u
dGVudFJlY3RVcGRhdGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAKQEAgLTQxLDYgKzQxLDcgQEAgdm9pZCBWaXNpYmxl
Q29udGVudFJlY3RVcGRhdGVJbmZvOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX3RpbWVzdGFtcDsKICAgICBlbmNvZGVyIDw8IG1f
aG9yaXpvbnRhbFZlbG9jaXR5OwogICAgIGVuY29kZXIgPDwgbV92ZXJ0aWNhbFZlbG9jaXR5Owor
ICAgIGVuY29kZXIgPDwgbV9zY2FsZUNoYW5nZVJhdGU7CiB9CiAKIGJvb2wgVmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlSW5mbzo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBW
aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJiByZXN1bHQpCkBAIC02Myw2ICs2NCw4IEBAIGJv
b2wgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbzo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBWaXNpYmxlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5tX3ZlcnRpY2FsVmVsb2NpdHkpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY2FsZUNoYW5nZVJhdGUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oCmlu
ZGV4IDE2ZWM2MmJlZmY2MzA1OTlmNjlhZmM4MzhlZmYzZmI2N2MxZTdiMzQuLjc1OTkxNjYxYzc2
MjM2MzEwNmVjOTIxMDU2YWRkMzhjMTU5MjI2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaApAQCAtNDQsNyArNDQsNyBA
QCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8odWludDY0X3QgdXBkYXRlSUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZXhwb3NlZFJl
Y3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZFJlY3QsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIGRvdWJsZSBzY2FsZSwgYm9v
bCBpblN0YWJsZVN0YXRlLCBkb3VibGUgdGltZXN0YW1wLCBkb3VibGUgaG9yaXpvbnRhbFZlbG9j
aXR5LCBkb3VibGUgdmVydGljYWxWZWxvY2l0eSkKKyAgICBWaXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvKHVpbnQ2NF90IHVwZGF0ZUlELCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGV4cG9z
ZWRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBkb3VibGUgc2NhbGUs
IGJvb2wgaW5TdGFibGVTdGF0ZSwgZG91YmxlIHRpbWVzdGFtcCwgZG91YmxlIGhvcml6b250YWxW
ZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2NpdHksIGRvdWJsZSBzY2FsZUNoYW5nZVJhdGUp
CiAgICAgICAgIDogbV9leHBvc2VkUmVjdChleHBvc2VkUmVjdCkKICAgICAgICAgLCBtX3Vub2Jz
Y3VyZWRSZWN0KHVub2JzY3VyZWRSZWN0KQogICAgICAgICAsIG1fY3VzdG9tRml4ZWRQb3NpdGlv
blJlY3QoY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QpCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgLCBtX3RpbWVzdGFtcCh0aW1lc3RhbXApCiAgICAgICAgICwgbV9ob3Jpem9udGFs
VmVsb2NpdHkoaG9yaXpvbnRhbFZlbG9jaXR5KQogICAgICAgICAsIG1fdmVydGljYWxWZWxvY2l0
eSh2ZXJ0aWNhbFZlbG9jaXR5KQorICAgICAgICAsIG1fc2NhbGVDaGFuZ2VSYXRlKHNjYWxlQ2hh
bmdlUmF0ZSkKICAgICB7CiAgICAgfQogCkBAIC02NCw2ICs2NSwxMSBAQCBwdWJsaWM6CiAgICAg
dWludDY0X3QgdXBkYXRlSUQoKSBjb25zdCB7IHJldHVybiBtX3VwZGF0ZUlEOyB9CiAgICAgYm9v
bCBpblN0YWJsZVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9pblN0YWJsZVN0YXRlOyB9CiAKKyAg
ICBkb3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKyAgICBk
b3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5KCkgY29uc3QgeyByZXR1cm4gbV9ob3Jpem9udGFsVmVs
b2NpdHk7IH0KKyAgICBkb3VibGUgdmVydGljYWxWZWxvY2l0eSgpIGNvbnN0IHsgcmV0dXJuIG1f
dmVydGljYWxWZWxvY2l0eTsgfQorICAgIGRvdWJsZSBzY2FsZUNoYW5nZVJhdGUoKSBjb25zdCB7
IHJldHVybiBtX3NjYWxlQ2hhbmdlUmF0ZTsgfQorCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpBcmd1
bWVudEVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVu
dERlY29kZXImLCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJik7CiAKQEAgLTc0LDEwICs4
MCwxMCBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX3NjYWxlOwogICAgIHVpbnQ2NF90IG1fdXBk
YXRlSUQ7CiAgICAgYm9vbCBtX2luU3RhYmxlU3RhdGU7Ci1wdWJsaWM6CiAgICAgZG91YmxlIG1f
dGltZXN0YW1wOwogICAgIGRvdWJsZSBtX2hvcml6b250YWxWZWxvY2l0eTsKICAgICBkb3VibGUg
bV92ZXJ0aWNhbFZlbG9jaXR5OworICAgIGRvdWJsZSBtX3NjYWxlQ2hhbmdlUmF0ZTsKIH07CiAK
IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5m
byYgYSwgY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgYikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQppbmRleCAzYTViOWNhMzZiNTQy
ZGJiOGE4YjE2NDM0ZGMzYjg4YmM0MmQ5NmQ4Li4xOWI1MWQ3MGU1YWJkN2ExZGUzN2MzNTU0YzEw
ZDU4YjJjOGMzZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tCkBAIC02NSw2ICs2NSwyNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogbmFt
ZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBIaXN0b3JpY2FsVmVsb2NpdHlEYXRhIHsKIHB1YmxpYzoK
KyAgICBzdHJ1Y3QgVmVsb2NpdHlEYXRhIHsKKyAgICAgICAgVmVsb2NpdHlEYXRhKCkKKyAgICAg
ICAgICAgIDogaG9yaXpvbnRhbFZlbG9jaXR5KDApCisgICAgICAgICAgICAsIHZlcnRpY2FsVmVs
b2NpdHkoMCkKKyAgICAgICAgICAgICwgc2NhbGVDaGFuZ2VSYXRlKDApCisgICAgICAgIHsKKyAg
ICAgICAgfQorCisgICAgICAgIFZlbG9jaXR5RGF0YShkb3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5
LCBkb3VibGUgdmVydGljYWxWZWxvY2l0eSwgZG91YmxlIHNjYWxlQ2hhbmdlUmF0ZSkKKyAgICAg
ICAgICAgIDogaG9yaXpvbnRhbFZlbG9jaXR5KGhvcml6b250YWxWZWxvY2l0eSkKKyAgICAgICAg
ICAgICwgdmVydGljYWxWZWxvY2l0eSh2ZXJ0aWNhbFZlbG9jaXR5KQorICAgICAgICAgICAgLCBz
Y2FsZUNoYW5nZVJhdGUoc2NhbGVDaGFuZ2VSYXRlKQorICAgICAgICB7CisgICAgICAgIH0KKwor
ICAgICAgICBkb3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5OworICAgICAgICBkb3VibGUgdmVydGlj
YWxWZWxvY2l0eTsKKyAgICAgICAgZG91YmxlIHNjYWxlQ2hhbmdlUmF0ZTsKKyAgICB9OworCiAg
ICAgSGlzdG9yaWNhbFZlbG9jaXR5RGF0YSgpCiAgICAgICAgIDogbV9oaXN0b3J5U2l6ZSgwKQog
ICAgICAgICAsIG1fbGF0ZXN0RGF0YUluZGV4KDApCkBAIC03MiwxMyArOTIsMTMgQEAgcHVibGlj
OgogICAgIHsKICAgICB9CiAKLSAgICBDR1NpemUgdmVsb2NpdHlGb3JOZXdEYXRhKENHUG9pbnQg
bmV3UG9zaXRpb24sIGRvdWJsZSB0aW1lc3RhbXApCisgICAgVmVsb2NpdHlEYXRhIHZlbG9jaXR5
Rm9yTmV3RGF0YShDR1BvaW50IG5ld1Bvc2l0aW9uLCBkb3VibGUgc2NhbGUsIGRvdWJsZSB0aW1l
c3RhbXApCiAgICAgewogICAgICAgICAvLyBEdWUgdG8gYWxsIHRoZSBzb3VyY2Ugb2YgcmVjdCB1
cGRhdGUsIHRoZSBpbnB1dCBpcyB2ZXJ5IG5vaXN5LiBUbyBzbW9vdGggdGhlIG91dHB1dCwgd2Ug
YWNjdW11bGF0ZSBhbGwgY2hhbmdlcwogICAgICAgICAvLyB3aXRoaW4gMSBmcmFtZSBhcyBhIHNp
bmdsZSB1cGRhdGUuIE5vIHNwZWVkIGNvbXB1dGF0aW9uIGlzIGV2ZXIgZG9uZSBvbiBkYXRhIHdp
dGhpbiB0aGUgc2FtZSBmcmFtZS4KICAgICAgICAgY29uc3QgZG91YmxlIGZpbHRlcmluZ1RocmVz
aG9sZCA9IDEgLyA2MC47CiAKLSAgICAgICAgQ0dTaXplIHZlbG9jaXR5ID0gQ0dTaXplWmVybzsK
KyAgICAgICAgVmVsb2NpdHlEYXRhIHZlbG9jaXR5RGF0YTsKICAgICAgICAgaWYgKG1faGlzdG9y
eVNpemUgPiAwKSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBvbGRlc3REYXRhSW5kZXg7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBkaXN0YW5jZVRvTGFzdEhpc3RvcmljYWxEYXRhID0gbV9oaXN0b3J5
U2l6ZSAtIDE7CkBAIC04OCwyNSArMTA4LDI3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBv
bGRlc3REYXRhSW5kZXggPSBtX2hpc3RvcnlTaXplIC0gKGRpc3RhbmNlVG9MYXN0SGlzdG9yaWNh
bERhdGEgLSBtX2xhdGVzdERhdGFJbmRleCk7CiAKICAgICAgICAgICAgIGRvdWJsZSB0aW1lRGVs
dGEgPSB0aW1lc3RhbXAgLSBtX2hpc3Rvcnlbb2xkZXN0RGF0YUluZGV4XS50aW1lc3RhbXA7Ci0g
ICAgICAgICAgICBpZiAodGltZURlbHRhID4gZmlsdGVyaW5nVGhyZXNob2xkKQotICAgICAgICAg
ICAgICAgIHZlbG9jaXR5ID0gIENHU2l6ZU1ha2UoKG5ld1Bvc2l0aW9uLnggLSBtX2hpc3Rvcnlb
b2xkZXN0RGF0YUluZGV4XS5wb3NpdGlvbi54KSAvIHRpbWVEZWx0YSwgKG5ld1Bvc2l0aW9uLnkg
LSBtX2hpc3Rvcnlbb2xkZXN0RGF0YUluZGV4XS5wb3NpdGlvbi55KSAvIHRpbWVEZWx0YSk7Cisg
ICAgICAgICAgICBpZiAodGltZURlbHRhID4gZmlsdGVyaW5nVGhyZXNob2xkKSB7CisgICAgICAg
ICAgICAgICAgRGF0YSYgb2xkZXN0RGF0YSA9IG1faGlzdG9yeVtvbGRlc3REYXRhSW5kZXhdOwor
ICAgICAgICAgICAgICAgIHZlbG9jaXR5RGF0YSA9IFZlbG9jaXR5RGF0YSgobmV3UG9zaXRpb24u
eCAtIG9sZGVzdERhdGEucG9zaXRpb24ueCkgLyB0aW1lRGVsdGEsIChuZXdQb3NpdGlvbi55IC0g
b2xkZXN0RGF0YS5wb3NpdGlvbi55KSAvIHRpbWVEZWx0YSwgKHNjYWxlIC0gb2xkZXN0RGF0YS5z
Y2FsZSkgLyB0aW1lRGVsdGEpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAg
ZG91YmxlIHRpbWVTaW5jZUxhc3RBcHBlbmQgPSB0aW1lc3RhbXAgLSBtX2xhc3RBcHBlbmRUaW1l
c3RhbXA7CiAgICAgICAgIGlmICh0aW1lU2luY2VMYXN0QXBwZW5kID4gZmlsdGVyaW5nVGhyZXNo
b2xkKQotICAgICAgICAgICAgYXBwZW5kKG5ld1Bvc2l0aW9uLCB0aW1lc3RhbXApOworICAgICAg
ICAgICAgYXBwZW5kKG5ld1Bvc2l0aW9uLCBzY2FsZSwgdGltZXN0YW1wKTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgbV9oaXN0b3J5W21fbGF0ZXN0RGF0YUluZGV4XSA9IHsgdGltZXN0YW1w
LCBuZXdQb3NpdGlvbiB9OwotICAgICAgICByZXR1cm4gdmVsb2NpdHk7CisgICAgICAgICAgICBt
X2hpc3RvcnlbbV9sYXRlc3REYXRhSW5kZXhdID0geyB0aW1lc3RhbXAsIG5ld1Bvc2l0aW9uLCBz
Y2FsZSB9OworICAgICAgICByZXR1cm4gdmVsb2NpdHlEYXRhOwogICAgIH0KIAogICAgIHZvaWQg
Y2xlYXIoKSB7IG1faGlzdG9yeVNpemUgPSAwOyB9CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBhcHBl
bmQoQ0dQb2ludCBuZXdQb3NpdGlvbiwgZG91YmxlIHRpbWVzdGFtcCkKKyAgICB2b2lkIGFwcGVu
ZChDR1BvaW50IG5ld1Bvc2l0aW9uLCBkb3VibGUgc2NhbGUsIGRvdWJsZSB0aW1lc3RhbXApCiAg
ICAgewogICAgICAgICBtX2xhdGVzdERhdGFJbmRleCA9IChtX2xhdGVzdERhdGFJbmRleCArIDEp
ICUgbWF4SGlzdG9yeURlcHRoOwotICAgICAgICBtX2hpc3RvcnlbbV9sYXRlc3REYXRhSW5kZXhd
ID0geyB0aW1lc3RhbXAsIG5ld1Bvc2l0aW9uIH07CisgICAgICAgIG1faGlzdG9yeVttX2xhdGVz
dERhdGFJbmRleF0gPSB7IHRpbWVzdGFtcCwgbmV3UG9zaXRpb24sIHNjYWxlIH07CiAKICAgICAg
ICAgdW5zaWduZWQgc2l6ZSA9IG1faGlzdG9yeVNpemUgKyAxOwogICAgICAgICBpZiAoc2l6ZSA8
PSBtYXhIaXN0b3J5RGVwdGgpCkBAIC0xMjIsMTAgKzE0NCwxMCBAQCBwcml2YXRlOgogICAgIHVu
c2lnbmVkIG1fbGF0ZXN0RGF0YUluZGV4OwogICAgIGRvdWJsZSBtX2xhc3RBcHBlbmRUaW1lc3Rh
bXA7CiAKLSAgICAvLyBGSVhNRTogYWRkIHNjYWxlIGluZm9ybWF0aW9uLgogICAgIHN0cnVjdCBE
YXRhIHsKICAgICAgICAgZG91YmxlIHRpbWVzdGFtcDsKICAgICAgICAgQ0dQb2ludCBwb3NpdGlv
bjsKKyAgICAgICAgZG91YmxlIHNjYWxlOwogICAgIH0gbV9oaXN0b3J5W21heEhpc3RvcnlEZXB0
aF07CiB9OwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkBAIC0yNzksOSArMzAxLDkgQEAgc3RhdGlj
IGlubGluZSBGbG9hdFJlY3QgZml4ZWRQb3NpdGlvblJlY3RGcm9tRXhwb3NlZFJlY3QoQ0dSZWN0
IHVub2JzY3VyZWRSZWN0LAogLSAodm9pZClkaWRVcGRhdGVWaXNpYmxlUmVjdDooQ0dSZWN0KXZp
c2libGVSZWN0IHVub2JzY3VyZWRSZWN0OihDR1JlY3QpdW5vYnNjdXJlZFJlY3Qgc2NhbGU6KENH
RmxvYXQpem9vbVNjYWxlIGluU3RhYmxlU3RhdGU6KEJPT0wpaXNTdGFibGVTdGF0ZQogewogICAg
IGRvdWJsZSB0aW1lc3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBD
R1NpemUgdmVsb2NpdHkgPSBDR1NpemVaZXJvOworICAgIEhpc3RvcmljYWxWZWxvY2l0eURhdGE6
OlZlbG9jaXR5RGF0YSB2ZWxvY2l0eURhdGE7CiAgICAgaWYgKCFpc1N0YWJsZVN0YXRlKQotICAg
ICAgICB2ZWxvY2l0eSA9IF9oaXN0b3JpY2FsS2luZW1hdGljRGF0YS52ZWxvY2l0eUZvck5ld0Rh
dGEodmlzaWJsZVJlY3Qub3JpZ2luLCB0aW1lc3RhbXApOworICAgICAgICB2ZWxvY2l0eURhdGEg
PSBfaGlzdG9yaWNhbEtpbmVtYXRpY0RhdGEudmVsb2NpdHlGb3JOZXdEYXRhKHZpc2libGVSZWN0
Lm9yaWdpbiwgem9vbVNjYWxlLCB0aW1lc3RhbXApOwogICAgIGVsc2UKICAgICAgICAgX2hpc3Rv
cmljYWxLaW5lbWF0aWNEYXRhLmNsZWFyKCk7CiAKQEAgLTI5NCw3ICszMTYsNyBAQCBzdGF0aWMg
aW5saW5lIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdEZyb21FeHBvc2VkUmVjdChDR1JlY3Qg
dW5vYnNjdXJlZFJlY3QsCiAgICAgfQogCiAgICAgRmxvYXRSZWN0IGN1c3RvbUZpeGVkUG9zaXRp
b25SZWN0ID0gZml4ZWRQb3NpdGlvblJlY3RGcm9tRXhwb3NlZFJlY3QodW5vYnNjdXJlZFJlY3Qs
IFtzZWxmIGJvdW5kc10uc2l6ZSwgem9vbVNjYWxlKTsKLSAgICBfcGFnZS0+dXBkYXRlVmlzaWJs
ZUNvbnRlbnRSZWN0cyhWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvKF9wYWdlLT5uZXh0Vmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSUQoKSwgdmlzaWJsZVJlY3QsIHVub2JzY3VyZWRSZWN0LCBj
dXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgZmlsdGVyZWRTY2FsZSwgaXNTdGFibGVTdGF0ZSwgdGlt
ZXN0YW1wLCB2ZWxvY2l0eS53aWR0aCwgdmVsb2NpdHkuaGVpZ2h0KSk7CisgICAgX3BhZ2UtPnVw
ZGF0ZVZpc2libGVDb250ZW50UmVjdHMoVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyhfcGFn
ZS0+bmV4dFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlEKCksIHZpc2libGVSZWN0LCB1bm9ic2N1
cmVkUmVjdCwgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIGZpbHRlcmVkU2NhbGUsIGlzU3RhYmxl
U3RhdGUsIHRpbWVzdGFtcCwgdmVsb2NpdHlEYXRhLmhvcml6b250YWxWZWxvY2l0eSwgdmVsb2Np
dHlEYXRhLnZlcnRpY2FsVmVsb2NpdHksIHZlbG9jaXR5RGF0YS5zY2FsZUNoYW5nZVJhdGUpKTsK
ICAgICAKICAgICBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5KiBzY3JvbGxpbmdDb29y
ZGluYXRvciA9IF9wYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCk7CiAgICAgc2Nyb2xs
aW5nQ29vcmRpbmF0b3ItPnZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhzY3Jv
bGxpbmdDb29yZGluYXRvci0+cm9vdFNjcm9sbGluZ05vZGVJRCgpLCB1bm9ic2N1cmVkUmVjdCwg
em9vbVNjYWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQppbmRleCAyNWZkMTM0ZGQyZWM3M2MxMTFkNzJjMDEwMjQ0NGNjYjJm
MDA3MDFiLi4zYzExMWFlMDhkODk5MDg0OWZiNmMzNDA5MjQ3NjZiNDMzYWQ5MzYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
CkBAIC0xNzExLDcgKzE3MTEsNyBAQCB2b2lkIFdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlv
bkNoYW5nZWQoKQogCiAgICAgICAgIEludFJlY3QgdW5vYnNjdXJlZENvbnRlbnRSZWN0KHNjcm9s
bFBvc2l0aW9uLCBtaW5pbXVtTGF5b3V0U2l6ZUluRG9jdW1lbnRDb29yZGluYXRlKTsKICAgICAg
ICAgZnJhbWVWaWV3LnNldFVub2JzY3VyZWRDb250ZW50UmVjdCh1bm9ic2N1cmVkQ29udGVudFJl
Y3QpOwotICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsVmVsb2NpdHkoMCwgMCwgbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkpOworICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsVmVsb2Np
dHkoMCwgMCwgMCwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOwogCiAgICAgICAgIC8v
IEZJWE1FOiBXZSBjb3VsZCBzZW5kIGRvd24gdGhlIG9ic2N1cmVkIG1hcmdpbnMgdG8gZmluZCBh
IGJldHRlciBleHBvc2VkIHJlY3QgYW5kIHVub2JzY3VyZWQgcmVjdC4KICAgICAgICAgLy8gSXQg
aXMgbm90IGEgYmlnIGRlYWwgYXQgdGhlIG1vbWVudCBiZWNhdXNlIHRoZSB0aWxlIGNvdmVyYWdl
IHdpbGwgYWx3YXlzIGV4dGVuZCBwYXN0IHRoZSBvYnNjdXJlZCBib3R0b20gaW5zZXQuCkBAIC0x
NzM1LDE4ICsxNzM1LDQ1IEBAIHZvaWQgV2ViUGFnZTo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3Rp
dmUoKQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlm
aWNhdGlvbk5hbWU6V2ViVUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6bmlsXTsKIH0KIAorc3RhdGljIGlubGluZSBGbG9hdFJlY3QgYWRqdXN0RXhwb3NlZFJl
Y3RGb3JCb3VuZGVkU2NhbGUoY29uc3QgRmxvYXRSZWN0JiBleHBvc2VkUmVjdCwgZG91YmxlIGV4
cG9zZWRSZWN0U2NhbGUsIGRvdWJsZSBib3VuZGVkU2NhbGUpCit7CisgICAgaWYgKGV4cG9zZWRS
ZWN0U2NhbGUgPCBib3VuZGVkU2NhbGUpCisgICAgICAgIHJldHVybiBleHBvc2VkUmVjdDsKKwor
ICAgIGRvdWJsZSBvdmVyc2NhbGVkV2lkdGggPSBleHBvc2VkUmVjdC53aWR0aCgpOworICAgIGRv
dWJsZSBtaXNzaW5nSG9yaXpvbmFsTWFyZ2luID0gZXhwb3NlZFJlY3Qud2lkdGgoKSAqIGV4cG9z
ZWRSZWN0U2NhbGUgLyBib3VuZGVkU2NhbGUgLSBvdmVyc2NhbGVkV2lkdGg7CisKKyAgICBkb3Vi
bGUgb3ZlcnNjYWxlZEhlaWdodCA9IGV4cG9zZWRSZWN0LmhlaWdodCgpOworICAgIGRvdWJsZSBt
aXNzaW5nVmVydGljYWxNYXJnaW4gPSBleHBvc2VkUmVjdC5oZWlnaHQoKSAqIGV4cG9zZWRSZWN0
U2NhbGUgLyBib3VuZGVkU2NhbGUgLSBvdmVyc2NhbGVkSGVpZ2h0OworCisgICAgcmV0dXJuIEZs
b2F0UmVjdChleHBvc2VkUmVjdC54KCkgLSBtaXNzaW5nSG9yaXpvbmFsTWFyZ2luIC8gMiwgZXhw
b3NlZFJlY3QueSgpIC0gbWlzc2luZ1ZlcnRpY2FsTWFyZ2luIC8gMiwgZXhwb3NlZFJlY3Qud2lk
dGgoKSArIG1pc3NpbmdIb3Jpem9uYWxNYXJnaW4sIGV4cG9zZWRSZWN0LmhlaWdodCgpICsgbWlz
c2luZ1ZlcnRpY2FsTWFyZ2luKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFkanVzdFZlbG9j
aXR5RGF0YUZvckJvdW5kZWRTY2FsZShkb3VibGUmIGhvcml6b250YWxWZWxvY2l0eSwgZG91Ymxl
JiB2ZXJ0aWNhbFZlbG9jaXR5LCBkb3VibGUmIHNjYWxlQ2hhbmdlUmF0ZSwgZG91YmxlIGV4cG9z
ZWRSZWN0U2NhbGUsIGRvdWJsZSBib3VuZGVkU2NhbGUpCit7CisgICAgaWYgKHNjYWxlQ2hhbmdl
UmF0ZSkgeworICAgICAgICBob3Jpem9udGFsVmVsb2NpdHkgPSAwOworICAgICAgICB2ZXJ0aWNh
bFZlbG9jaXR5ID0gMDsKKyAgICB9CisKKyAgICBpZiAoZXhwb3NlZFJlY3RTY2FsZSAhPSBib3Vu
ZGVkU2NhbGUpCisgICAgICAgIHNjYWxlQ2hhbmdlUmF0ZSA9IDA7Cit9CisKIHZvaWQgV2ViUGFn
ZTo6dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvJiB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvKQogewogICAgIG1faGFzUmVjZWl2
ZWRWaXNpYmxlQ29udGVudFJlY3RzQWZ0ZXJEaWRDb21taXRMb2FkID0gdHJ1ZTsKICAgICBtX2xh
c3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJRCA9IHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8udXBkYXRlSUQoKTsKIAorICAgIGRvdWJsZSBib3VuZGVkU2NhbGUgPSBzdGQ6Om1pbihtX3Zp
ZXdwb3J0Q29uZmlndXJhdGlvbi5tYXhpbXVtU2NhbGUoKSwgc3RkOjptYXgobV92aWV3cG9ydENv
bmZpZ3VyYXRpb24ubWluaW11bVNjYWxlKCksIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8u
c2NhbGUoKSkpOworCiAgICAgRmxvYXRSZWN0IGV4cG9zZWRSZWN0ID0gdmlzaWJsZUNvbnRlbnRS
ZWN0VXBkYXRlSW5mby5leHBvc2VkUmVjdCgpOwotICAgIG1fZHJhd2luZ0FyZWEtPnNldEV4cG9z
ZWRDb250ZW50UmVjdChlbmNsb3NpbmdJbnRSZWN0KGV4cG9zZWRSZWN0KSk7CisgICAgRmxvYXRS
ZWN0IGFkanVzdGVkRXhwb3NlZFJlY3QgPSBhZGp1c3RFeHBvc2VkUmVjdEZvckJvdW5kZWRTY2Fs
ZShleHBvc2VkUmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5zY2FsZSgpLCBib3Vu
ZGVkU2NhbGUpOworICAgIG1fZHJhd2luZ0FyZWEtPnNldEV4cG9zZWRDb250ZW50UmVjdChlbmNs
b3NpbmdJbnRSZWN0KGFkanVzdGVkRXhwb3NlZFJlY3QpKTsKIAogICAgIEludFJlY3Qgcm91bmRl
ZFVub2JzY3VyZWRSZWN0ID0gcm91bmRlZEludFJlY3QodmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
SW5mby51bm9ic2N1cmVkUmVjdCgpKTsKICAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbiA9IHJv
dW5kZWRVbm9ic2N1cmVkUmVjdC5sb2NhdGlvbigpOwogCi0gICAgZG91YmxlIGJvdW5kZWRTY2Fs
ZSA9IHN0ZDo6bWluKG1fdmlld3BvcnRDb25maWd1cmF0aW9uLm1heGltdW1TY2FsZSgpLCBzdGQ6
Om1heChtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5taW5pbXVtU2NhbGUoKSwgdmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlSW5mby5zY2FsZSgpKSk7CiAgICAgZmxvYXQgZmxvYXRCb3VuZGVkU2NhbGUg
PSBib3VuZGVkU2NhbGU7CiAgICAgaWYgKGZsb2F0Qm91bmRlZFNjYWxlICE9IG1fcGFnZS0+cGFn
ZVNjYWxlRmFjdG9yKCkpIHsKICAgICAgICAgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzID0gdHJ1
ZTsKQEAgLTE3NTksNyArMTc4NiwxMyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVZpc2libGVDb250
ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgdmlzaQogCiAgICAg
bV9wYWdlLT5tYWluRnJhbWUoKS52aWV3KCktPnNldFNjcm9sbE9mZnNldChzY3JvbGxQb3NpdGlv
bik7CiAgICAgbV9wYWdlLT5tYWluRnJhbWUoKS52aWV3KCktPnNldFVub2JzY3VyZWRDb250ZW50
UmVjdChyb3VuZGVkVW5vYnNjdXJlZFJlY3QpOwotICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmll
dygpLT5zZXRTY3JvbGxWZWxvY2l0eSh2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLm1faG9y
aXpvbnRhbFZlbG9jaXR5LCB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLm1fdmVydGljYWxW
ZWxvY2l0eSwgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5tX3RpbWVzdGFtcCk7CisKKyAg
ICBkb3VibGUgaG9yaXpvbnRhbFZlbG9jaXR5ID0gdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5m
by5ob3Jpem9udGFsVmVsb2NpdHkoKTsKKyAgICBkb3VibGUgdmVydGljYWxWZWxvY2l0eSA9IHZp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8udmVydGljYWxWZWxvY2l0eSgpOworICAgIGRvdWJs
ZSBzY2FsZUNoYW5nZVJhdGUgPSB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLnNjYWxlQ2hh
bmdlUmF0ZSgpOworICAgIGFkanVzdFZlbG9jaXR5RGF0YUZvckJvdW5kZWRTY2FsZShob3Jpem9u
dGFsVmVsb2NpdHksIHZlcnRpY2FsVmVsb2NpdHksIHNjYWxlQ2hhbmdlUmF0ZSwgdmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlSW5mby5zY2FsZSgpLCBib3VuZGVkU2NhbGUpOworCisgICAgbV9wYWdl
LT5tYWluRnJhbWUoKS52aWV3KCktPnNldFNjcm9sbFZlbG9jaXR5KGhvcml6b250YWxWZWxvY2l0
eSwgdmVydGljYWxWZWxvY2l0eSwgc2NhbGVDaGFuZ2VSYXRlLCB2aXNpYmxlQ29udGVudFJlY3RV
cGRhdGVJbmZvLnRpbWVzdGFtcCgpKTsKIAogICAgIGlmICh2aXNpYmxlQ29udGVudFJlY3RVcGRh
dGVJbmZvLmluU3RhYmxlU3RhdGUoKSkKICAgICAgICAgbV9wYWdlLT5tYWluRnJhbWUoKS52aWV3
KCktPnNldEN1c3RvbUZpeGVkUG9zaXRpb25MYXlvdXRSZWN0KGVuY2xvc2luZ0ludFJlY3Qodmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>