<?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>131232</bug_id>
          
          <creation_ts>2014-04-04 10:40:32 -0700</creation_ts>
          <short_desc>[CSSRegions] Use RenderRegion::isValid() before using a region</short_desc>
          <delta_ts>2014-04-06 23:38:33 -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>CSS</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>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>997621</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-04-04 10:40:32 -0700</bug_when>
    <thetext>Make RenderRegion::isValid() the method to be used before doing something with a region instead of testing for flowThread() return value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997629</commentid>
    <comment_count>1</comment_count>
      <attachid>228605</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-04-04 10:52:46 -0700</bug_when>
    <thetext>Created attachment 228605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997630</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-04 10:54:55 -0700</bug_when>
    <thetext>Attachment 228605 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorOverlay.cpp:683:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997986</commentid>
    <comment_count>3</comment_count>
      <attachid>228605</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-06 00:24:43 -0700</bug_when>
    <thetext>Comment on attachment 228605
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998089</commentid>
    <comment_count>4</comment_count>
      <attachid>228722</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-04-06 23:02:05 -0700</bug_when>
    <thetext>Created attachment 228722
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998091</commentid>
    <comment_count>5</comment_count>
      <attachid>228722</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-06 23:38:30 -0700</bug_when>
    <thetext>Comment on attachment 228722
Patch for landing

Clearing flags on attachment: 228722

Committed r166867: &lt;http://trac.webkit.org/changeset/166867&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998092</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-06 23:38:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228605</attachid>
            <date>2014-04-04 10:52:46 -0700</date>
            <delta_ts>2014-04-06 23:01:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>131222.patch</filename>
            <type>text/plain</type>
            <size>15691</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZGJmMzc3Li5iYWE4ZmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTQtMDQt
MDQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CiAKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIFVzZSBSZW5kZXJSZWdpb246OmlzVmFsaWQoKSBiZWZvcmUgdXNpbmcgYSByZWdpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTIzMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkanVzdCB0
ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGFuIGludmFsaWQgcmVnaW9uIGlzIG5vdCB1bm5lY2Vz
c2FyeSByZXBhaW50ZWQuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9pbnZhbGlk
LXJlZ2lvbi1yZXBhaW50LWNyYXNoLWV4cGVjdGVkLnR4dDoKKworMjAxNC0wNC0wNCAgTWlobmVh
IE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKwogICAgICAgICBbQ1NTUmVnaW9uc10gUmVn
aW9uJ3MgYmVoYXZpb3VyIG5vdCB1cGRhdGVkIHdoZW4gYmVjb21pbmcgdmFsaWQgZnJvbSBpbnZh
bGlkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEy
MTEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvaW52YWxp
ZC1yZWdpb24tcmVwYWludC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvcmVwYWludC9pbnZhbGlkLXJlZ2lvbi1yZXBhaW50LWNyYXNoLWV4cGVjdGVkLnR4dApp
bmRleCAwM2Y2MzgwLi4wZDg1ODFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvcmVwYWludC9pbnZhbGlkLXJlZ2lvbi1yZXBhaW50LWNyYXNoLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9pbnZhbGlkLXJlZ2lvbi1yZXBhaW50
LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMTMsOSArMTMsNSBAQCBPbiBzdWNjZXNzIGl0IHNob3Vs
ZCBub3QgY3Jhc2ggYW5kIHlvdSBzaG91bGQgc2VlIDMgcmVjdGFuZ2xlcyBwYWludGVkIGluIHRo
ZSBmbwogICAocmVjdCAxMDAgMTAwIDUwIDUwKQogICAocmVjdCAxMDAgMTAwIDUwIDEwMCkKICAg
KHJlY3QgMTAwIDEwMCA1MCA1MCkKLSAgKHJlY3QgMTAwIDEwMCA1MCAxNTApCi0gIChyZWN0IDEw
MCAxMDAgNTAgMTAwKQotICAocmVjdCAxMDAgMTAwIDUwIDEwMCkKLSAgKHJlY3QgMTAwIDEwMCA1
MCA1MCkKICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRmYWVmZTkuLjI3NTBhODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsNSArMSw0NCBAQAogMjAxNC0wNC0wNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2Jl
LmNvbT4KIAorICAgICAgICBbQ1NTUmVnaW9uc10gVXNlIFJlbmRlclJlZ2lvbjo6aXNWYWxpZCgp
IGJlZm9yZSB1c2luZyBhIHJlZ2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMxMjMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVuZGVyUmVnaW9uIG1ldGhvZCBpc1ZhbGlkKCkgc2hvdWxkIGJlIHVz
ZWQgdG8gdGVzdCB3aGV0aGVyIGEgcmVnaW9uCisgICAgICAgIGlzIGdvb2QgdG8gdXNlIGluc3Rl
YWQgb2YgYSBtaXggYmV0d2VlbiBpc1ZhbGlkKCkgYW5kIGZsb3dUaHJlYWQoKS4KKyAgICAgICAg
V2hlbiB0aGUgcmVnaW9uIGlzIGRlc2lnbmVkIHRvIGZyYWdtZW50IGNvbnRlbnQgZnJvbSBhIHBh
cmVudCBmbG93IHRocmVhZCwKKyAgICAgICAgdGhlIG1fZmxvd1RocmVhZCBpcyBub3QgbnVsbGlm
aWVkIGFueW1vcmUsIHRodXMgZW5zdXJpbmcgdGhlIHNhbWUgdHJlYXRtZW50IGZvciBhbGwgaW52
YWxpZAorICAgICAgICByZWdpb25zLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JFbGVtZW50SW5mbyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OnVwZGF0ZUxheWVyUG9zaXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpw
YWludExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpwYWdlTG9naWNhbEhlaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6bWF4UGFnZUxvZ2ljYWxI
ZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpSZW5kZXJSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUmVnaW9uOjpwb3NpdGlvbkZvclBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clJlZ2lvbjo6cGFnZUxvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdp
b246OnBhZ2VMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6
c3R5bGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjppbnN0YWxs
Rmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmF0dGFjaFJlZ2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmRldGFjaFJlZ2lvbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmVuc3VyZU92ZXJmbG93Rm9yQm94KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6cmVuZGVyQm94UmVnaW9uSW5mbyk6CisKKzIwMTQt
MDQtMDQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKICAgICAgICAgW0NT
U1JlZ2lvbnNdIFJlZ2lvbidzIGJlaGF2aW91ciBub3QgdXBkYXRlZCB3aGVuIGJlY29taW5nIHZh
bGlkIGZyb20gaW52YWxpZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTMxMjExCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JP
dmVybGF5LmNwcAppbmRleCAwYzI5MGFjLi5jZWJkYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC02NzgsOCArNjc4LDkgQEAgc3RhdGlj
IFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvckVsZW1lbnRJbmZvKE5v
ZGUqIG5vZGUpCiAgICAgCiAgICAgaWYgKHJlbmRlcmVyLT5pc1JlbmRlck5hbWVkRmxvd0ZyYWdt
ZW50Q29udGFpbmVyKCkpIHsKICAgICAgICAgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIHJlZ2lv
biA9IHRvUmVuZGVyQmxvY2tGbG93KHJlbmRlcmVyKS0+cmVuZGVyTmFtZWRGbG93RnJhZ21lbnQo
KTsKLSAgICAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IHJlZ2lvbi0+Zmxvd1Ro
cmVhZCgpOwotICAgICAgICBpZiAoZmxvd1RocmVhZCAmJiBmbG93VGhyZWFkLT5pc1JlbmRlck5h
bWVkRmxvd1RocmVhZCgpKSB7CisgICAgICAgIGlmIChyZWdpb24tPmlzVmFsaWQoKSkgeworICAg
ICAgICAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IHJlZ2lvbi0+Zmxvd1RocmVh
ZCgpOworICAgICAgICAgICAgQVNTRVJUIChmbG93VGhyZWFkICYmIGZsb3dUaHJlYWQtPmlzUmVu
ZGVyTmFtZWRGbG93VGhyZWFkKCkpOwogICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gcmVnaW9uRmxvd0luZm8gPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICAg
ICAgcmVnaW9uRmxvd0luZm8tPnNldFN0cmluZygibmFtZSIsIHRvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkKGZsb3dUaHJlYWQpLT5mbG93VGhyZWFkTmFtZSgpKTsKICAgICAgICAgICAgIHJlZ2lvbkZs
b3dJbmZvLT5zZXRBcnJheSgicmVnaW9ucyIsIGJ1aWxkT2JqZWN0Rm9yQ1NTUmVnaW9uc0hpZ2hs
aWdodChyZWdpb24sIGZsb3dUaHJlYWQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggNzAxMTY2MDAuLmM5OTlhMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCkBAIC00NTUzLDEzICs0NTUzLDEyIEBAIExheW91dFJlY3QgUmVuZGVyQm94
OjpvdmVyZmxvd1JlY3RGb3JQYWludFJlamVjdGlvbihSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCog
bmFtCiAgICAgLy8gY2F1c2UgdGhlIHBhaW50IHJlamVjdGlvbiBhbGdvcml0aG0gdG8gcHJldmVu
dCB0aGVtIGZyb20gcGFpbnRpbmcgd2hlbiB1c2luZyBkaWZmZXJlbnQgd2lkdGggcmVnaW9ucy4K
ICAgICAvLyBlLmcuIGFuIGFic29sdXRlbHkgcG9zaXRpb25lZCBib3ggd2l0aCBib3R0b206MHB4
IGFuZCByaWdodDowcHggd291bGQgaGF2ZSBpdCdzIGZyYW1lUmVjdC54IHJlbGF0aXZlCiAgICAg
Ly8gdG8gdGhlIGZsb3cgdGhyZWFkLCBub3QgdGhlIGxhc3QgcmVnaW9uIChpbiB3aGljaCBpdCB3
aWxsIGVuZCB1cCBiZWNhdXNlIG9mIGJvdHRvbTowcHgpCi0gICAgaWYgKG5hbWVkRmxvd0ZyYWdt
ZW50KSB7Ci0gICAgICAgIGlmIChSZW5kZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkID0gbmFtZWRG
bG93RnJhZ21lbnQtPmZsb3dUaHJlYWQoKSkgewotICAgICAgICAgICAgUmVuZGVyUmVnaW9uKiBz
dGFydFJlZ2lvbiA9IG51bGxwdHI7Ci0gICAgICAgICAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lv
biA9IG51bGxwdHI7Ci0gICAgICAgICAgICBpZiAoZmxvd1RocmVhZC0+Z2V0UmVnaW9uUmFuZ2VG
b3JCb3godGhpcywgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCi0gICAgICAgICAgICAgICAgb3Zl
cmZsb3dSZWN0LnVuaXRlKG5hbWVkRmxvd0ZyYWdtZW50LT52aXN1YWxPdmVyZmxvd1JlY3RGb3JC
b3godGhpcykpOwotICAgICAgICB9CisgICAgaWYgKG5hbWVkRmxvd0ZyYWdtZW50ICYmIG5hbWVk
Rmxvd0ZyYWdtZW50LT5pc1ZhbGlkKCkpIHsKKyAgICAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxv
d1RocmVhZCA9IG5hbWVkRmxvd0ZyYWdtZW50LT5mbG93VGhyZWFkKCk7CisgICAgICAgIFJlbmRl
clJlZ2lvbiogc3RhcnRSZWdpb24gPSBudWxscHRyOworICAgICAgICBSZW5kZXJSZWdpb24qIGVu
ZFJlZ2lvbiA9IG51bGxwdHI7CisgICAgICAgIGlmIChmbG93VGhyZWFkLT5nZXRSZWdpb25SYW5n
ZUZvckJveCh0aGlzLCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKSkKKyAgICAgICAgICAgIG92ZXJm
bG93UmVjdC51bml0ZShuYW1lZEZsb3dGcmFnbWVudC0+dmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94
KHRoaXMpKTsKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX292ZXJmbG93IHx8ICF1c2VzQ29tcG9z
aXRlZFNjcm9sbGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAKaW5kZXggMDhkYmE3ZC4uYTI4NDM4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01ODksOSAr
NTg5LDggQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRNYXNrRm9yVGV4dEZpbGxC
b3goSW1hZ2VCdWZmZXIqIG1hc2tJbWFnZSwgY29uc3QKICAgICAgICAgYm94LT5wYWludChpbmZv
LCBMYXlvdXRQb2ludChzY3JvbGxlZFBhaW50UmVjdC54KCkgLSBib3gtPngoKSwgc2Nyb2xsZWRQ
YWludFJlY3QueSgpIC0gYm94LT55KCkpLCByb290Qm94LmxpbmVUb3AoKSwgcm9vdEJveC5saW5l
Qm90dG9tKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZW5kZXJOYW1lZEZsb3dGcmFnbWVudENvbnRh
aW5lcigpKSB7CiAgICAgICAgIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KiByZWdpb24gPSB0b1Jl
bmRlckJsb2NrRmxvdyh0aGlzKS0+cmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKTsKLSAgICAgICAg
aWYgKCFyZWdpb24tPmZsb3dUaHJlYWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
cmVnaW9uLT5mbG93VGhyZWFkKCktPmxheWVyKCktPnBhaW50TmFtZWRGbG93VGhyZWFkSW5zaWRl
UmVnaW9uKG1hc2tJbWFnZUNvbnRleHQsIHJlZ2lvbiwgbWFza1JlY3QsIG1hc2tSZWN0LmxvY2F0
aW9uKCksIFBhaW50QmVoYXZpb3JGb3JjZUJsYWNrVGV4dCwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5
ZXJUZW1wb3JhcnlDbGlwUmVjdHMpOworICAgICAgICBpZiAocmVnaW9uLT5pc1ZhbGlkKCkpCisg
ICAgICAgICAgICByZWdpb24tPmZsb3dUaHJlYWQoKS0+bGF5ZXIoKS0+cGFpbnROYW1lZEZsb3dU
aHJlYWRJbnNpZGVSZWdpb24obWFza0ltYWdlQ29udGV4dCwgcmVnaW9uLCBtYXNrUmVjdCwgbWFz
a1JlY3QubG9jYXRpb24oKSwgUGFpbnRCZWhhdmlvckZvcmNlQmxhY2tUZXh0LCBSZW5kZXJMYXll
cjo6UGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
TGF5b3V0U2l6ZSBsb2NhbE9mZnNldCA9IGlzQm94KCkgPyB0b1JlbmRlckJveCh0aGlzKS0+bG9j
YXRpb25PZmZzZXQoKSA6IExheW91dFNpemUoKTsKICAgICAgICAgcGFpbnQoaW5mbywgc2Nyb2xs
ZWRQYWludFJlY3QubG9jYXRpb24oKSAtIGxvY2FsT2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDYyMWJkNjguLjdiMTJmNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDM5LDcgKzQzOSw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zKFJlbmRlckdlb21ldHJ5TWFwKiBnZW9t
ZXRyeU1hcCwgVXBkYXRlTGF5CiAgICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIGp1c3QgcmVw
YWludGVkIGEgcmVnaW9uLCB3ZSBtdXN0IGFsc28gcmVwYWludCB0aGUgZmxvdyB0aHJlYWQgc2lu
Y2UgaXQgaXMgdGhlIG9uZQogICAgICAgICAgICAgICAgICAgICAvLyBkb2luZyB0aGUgYWN0dWFs
IHBhaW50aW5nIG9mIHRoZSBmbG93ZWQgY29udGVudC4KICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyTmFtZWRGbG93RnJhZ21lbnQqIHJlZ2lvbiA9IHRvUmVuZGVyQmxvY2tGbG93KCZyZW5kZXJl
cigpKS0+cmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHJlZ2lvbi0+Zmxvd1RocmVhZCgpKQorICAgICAgICAgICAgICAgICAgICBpZiAocmVnaW9uLT5p
c1ZhbGlkKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICByZWdpb24tPmZsb3dUaHJlYWQoKS0+
bGF5ZXIoKS0+cmVwYWludEluY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQpAQCAtMzc0MywxMCArMzc0Myw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnBhaW50TGF5ZXIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aW5n
SW5mbyYKICAgICAgICAgaWYgKGVuY2xvc2luZ1BhZ2luYXRpb25MYXllcigpKQogICAgICAgICAg
ICAgaW5mby5yZW5kZXJOYW1lZEZsb3dGcmFnbWVudCA9IG51bGxwdHI7CiAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IG5hbWVkRmxvd0Zy
YWdtZW50LT5mbG93VGhyZWFkKCk7Ci0gICAgICAgICAgICBBU1NFUlQoZmxvd1RocmVhZCk7Ci0K
LSAgICAgICAgICAgIGlmICghZmxvd1RocmVhZC0+b2JqZWN0U2hvdWxkUGFpbnRJbkZsb3dSZWdp
b24oJnJlbmRlcmVyKCksIG5hbWVkRmxvd0ZyYWdtZW50KSkKKyAgICAgICAgICAgIEFTU0VSVChu
YW1lZEZsb3dGcmFnbWVudC0+aXNWYWxpZCgpKTsKKyAgICAgICAgICAgIGlmICghbmFtZWRGbG93
RnJhZ21lbnQtPmZsb3dUaHJlYWQoKS0+b2JqZWN0U2hvdWxkUGFpbnRJbkZsb3dSZWdpb24oJnJl
bmRlcmVyKCksIG5hbWVkRmxvd0ZyYWdtZW50KSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICB9CkBAIC00ODIwLDkgKzQ4MTgsOCBAQCBSZW5kZXJMYXllciogUmVuZGVy
TGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJMYXllciog
Y29udAogICAgIC8vIFRoaXMgaXMgdHJ1ZSBhcyBsb25nIGFzIHdlIGNsYW1wIHRoZSByYW5nZSBv
ZiBhIGJveCB0byBpdHMgY29udGFpbmluZyBibG9jayByYW5nZS4KICAgICAvLyBGSVhNRTogRml4
IGhpdCB0ZXN0aW5nIHdpdGggaW4tZmxvdyB0aHJlYWRzIGluY2x1ZGVkIGluIG91dC1vZi1mbG93
IHRocmVhZHMuCiAgICAgaWYgKGhpdFRlc3RMb2NhdGlvbi5yZWdpb24oKSkgeworICAgICAgICBB
U1NFUlQoaGl0VGVzdExvY2F0aW9uLnJlZ2lvbigpLT5pc1ZhbGlkKCkpOwogICAgICAgICBSZW5k
ZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkID0gaGl0VGVzdExvY2F0aW9uLnJlZ2lvbigpLT5mbG93
VGhyZWFkKCk7Ci0gICAgICAgIEFTU0VSVChmbG93VGhyZWFkKTsKLQogICAgICAgICBpZiAoIWZs
b3dUaHJlYWQtPm9iamVjdFNob3VsZFBhaW50SW5GbG93UmVnaW9uKCZyZW5kZXJlcigpLCBoaXRU
ZXN0TG9jYXRpb24ucmVnaW9uKCkpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAt
NTQ5Miw2ICs1NDg5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlUmVjdHMoY29uc3Qg
Q2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgY29uc3QKIAogICAgIFJlbmRlckZs
b3dUaHJlYWQqIGZsb3dUaHJlYWQgPSBjbGlwUmVjdHNDb250ZXh0LnJlZ2lvbiA/IGNsaXBSZWN0
c0NvbnRleHQucmVnaW9uLT5mbG93VGhyZWFkKCkgOiAwOwogICAgIGlmIChpc1NlbGZQYWludGlu
Z0xheWVyKCkgJiYgZmxvd1RocmVhZCAmJiAhcmVuZGVyZXIoKS5pc0luRmxvd1JlbmRlckZsb3dU
aHJlYWQoKSkgeworICAgICAgICBBU1NFUlQoY2xpcFJlY3RzQ29udGV4dC5yZWdpb24tPmlzVmFs
aWQoKSk7CiAgICAgICAgIGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBib3hNb2RlbE9iamVj
dCA9IHRvUmVuZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIoKSk7CiAgICAgICAgIExheW91dFJl
Y3QgbGF5ZXJCb3VuZHNXaXRoVmlzdWFsT3ZlcmZsb3cgPSBjbGlwUmVjdHNDb250ZXh0LnJlZ2lv
bi0+dmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94KCZib3hNb2RlbE9iamVjdCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwCmlu
ZGV4IGM3MmEyZjEuLmNkOGRiYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcApAQCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQg
UmVuZGVyTmFtZWRGbG93RnJhZ21lbnQ6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQoKQogCiBMYXlvdXRV
bml0IFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpwYWdlTG9naWNhbEhlaWdodCgpIGNvbnN0CiB7
Ci0gICAgQVNTRVJUKG1fZmxvd1RocmVhZCk7CisgICAgQVNTRVJUKGlzVmFsaWQoKSk7CiAgICAg
aWYgKGhhc0NvbXB1dGVkQXV0b0hlaWdodCgpICYmIG1fZmxvd1RocmVhZC0+aW5NZWFzdXJlQ29u
dGVudExheW91dFBoYXNlKCkpIHsKICAgICAgICAgQVNTRVJUKGhhc0F1dG9Mb2dpY2FsSGVpZ2h0
KCkpOwogICAgICAgICByZXR1cm4gY29tcHV0ZWRBdXRvSGVpZ2h0KCk7CkBAIC0xNzgsNyArMTc4
LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6cGFnZUxvZ2ljYWxIZWln
aHQoKSBjb25zdAogLy8gaGVpZ2h0IHZhbHVlIGZvciBhdXRvLWhlaWdodCByZWdpb25zIGluIHRo
ZSBmaXJzdCBsYXlvdXQgcGhhc2Ugb2YgdGhlIHBhcmVudCBuYW1lZCBmbG93LgogTGF5b3V0VW5p
dCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6bWF4UGFnZUxvZ2ljYWxIZWlnaHQoKSBjb25zdAog
ewotICAgIEFTU0VSVChtX2Zsb3dUaHJlYWQpOworICAgIEFTU0VSVChpc1ZhbGlkKCkpOwogICAg
IEFTU0VSVChoYXNBdXRvTG9naWNhbEhlaWdodCgpICYmIG1fZmxvd1RocmVhZC0+aW5NZWFzdXJl
Q29udGVudExheW91dFBoYXNlKCkpOwogICAgIEFTU0VSVChpc0Fub255bW91cygpKTsKICAgICBB
U1NFUlQocGFyZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNw
cAppbmRleCBlMGU3YzhhLi5lZTRmMTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVnaW9uLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBSZW5k
ZXJSZWdpb246OlJlbmRlclJlZ2lvbihFbGVtZW50JiBlbGVtZW50LCBQYXNzUmVmPFJlbmRlclN0
eWxlPiBzdHlsZSwgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCkKICAgICA6IFJlbmRlckJs
b2NrRmxvdyhlbGVtZW50LCBzdGQ6Om1vdmUoc3R5bGUpKQogICAgICwgbV9mbG93VGhyZWFkKGZs
b3dUaHJlYWQpCi0gICAgLCBtX3BhcmVudE5hbWVkRmxvd1RocmVhZCgwKQorICAgICwgbV9wYXJl
bnROYW1lZEZsb3dUaHJlYWQobnVsbHB0cikKICAgICAsIG1faXNWYWxpZChmYWxzZSkKIHsKIH0K
QEAgLTU5LDcgKzU5LDcgQEAgUmVuZGVyUmVnaW9uOjpSZW5kZXJSZWdpb24oRWxlbWVudCYgZWxl
bWVudCwgUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUsIFJlbmRlckYKIFJlbmRlclJlZ2lvbjo6
UmVuZGVyUmVnaW9uKERvY3VtZW50JiBkb2N1bWVudCwgUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5
bGUsIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQpCiAgICAgOiBSZW5kZXJCbG9ja0Zsb3co
ZG9jdW1lbnQsIHN0ZDo6bW92ZShzdHlsZSkpCiAgICAgLCBtX2Zsb3dUaHJlYWQoZmxvd1RocmVh
ZCkKLSAgICAsIG1fcGFyZW50TmFtZWRGbG93VGhyZWFkKDApCisgICAgLCBtX3BhcmVudE5hbWVk
Rmxvd1RocmVhZChudWxscHRyKQogICAgICwgbV9pc1ZhbGlkKGZhbHNlKQogewogfQpAQCAtMTA2
LDcgKzEwNiw2IEBAIExheW91dFBvaW50IFJlbmRlclJlZ2lvbjo6bWFwUmVnaW9uUG9pbnRJbnRv
Rmxvd1RocmVhZENvb3JkaW5hdGVzKGNvbnN0IExheW91dFBvCiAKIFZpc2libGVQb3NpdGlvbiBS
ZW5kZXJSZWdpb246OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQog
ewotICAgIEFTU0VSVChtX2Zsb3dUaHJlYWQpOwogICAgIGlmICghaXNWYWxpZCgpIHx8ICFtX2Zs
b3dUaHJlYWQtPmZpcnN0Q2hpbGQoKSkgLy8gY2hlY2tpbmcgZm9yIGVtcHR5IHJlZ2lvbiBibG9j
a3MuCiAgICAgICAgIHJldHVybiBSZW5kZXJCbG9jazo6cG9zaXRpb25Gb3JQb2ludChwb2ludCk7
CiAKQEAgLTExNSwxMyArMTE0LDEzIEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJSZWdpb246OnBv
c2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQogCiBMYXlvdXRVbml0IFJl
bmRlclJlZ2lvbjo6cGFnZUxvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1fZmxv
d1RocmVhZCk7CisgICAgQVNTRVJUKGlzVmFsaWQoKSk7CiAgICAgcmV0dXJuIG1fZmxvd1RocmVh
ZC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGNvbnRlbnRXaWR0aCgpIDogY29udGVudEhl
aWdodCgpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlclJlZ2lvbjo6cGFnZUxvZ2ljYWxIZWlnaHQo
KSBjb25zdAogewotICAgIEFTU0VSVChtX2Zsb3dUaHJlYWQpOworICAgIEFTU0VSVChpc1ZhbGlk
KCkpOwogICAgIHJldHVybiBtX2Zsb3dUaHJlYWQtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBjb250ZW50SGVpZ2h0KCkgOiBjb250ZW50V2lkdGgoKTsKIH0KIApAQCAtMjA5LDcgKzIwOCw3
IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0CiB7CiAgICAgUmVuZGVyQmxvY2tGbG93OjpzdHls
ZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAKLSAgICBpZiAoIW1fZmxvd1RocmVhZCkKKyAg
ICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG9sZFN0eWxlICYm
IG9sZFN0eWxlLT53cml0aW5nTW9kZSgpICE9IHN0eWxlKCkud3JpdGluZ01vZGUoKSkKQEAgLTI4
OSwxMSArMjg4LDYgQEAgdm9pZCBSZW5kZXJSZWdpb246Omluc3RhbGxGbG93VGhyZWFkKCkKICAg
ICB9CiAKICAgICBtX3BhcmVudE5hbWVkRmxvd1RocmVhZCA9ICYqY2xvc2VzdEZsb3dUaHJlYWRB
bmNlc3RvcjsKLQotICAgIC8vIERvIG5vdCB0YWtlIGludG8gYWNjb3VudCBhIHJlZ2lvbiB0aGF0
IGxpbmtzIGEgZmxvdyB3aXRoIGl0c2VsZi4gVGhlIGRlcGVuZGVuY3kKLSAgICAvLyBjYW5ub3Qg
Y2hhbmdlLCBzbyBpdCBpcyBub3Qgd29ydGggYWRkaW5nIGl0IHRvIHRoZSBsaXN0LgotICAgIGlm
IChtX2Zsb3dUaHJlYWQgPT0gbV9wYXJlbnROYW1lZEZsb3dUaHJlYWQpCi0gICAgICAgIG1fZmxv
d1RocmVhZCA9IG51bGxwdHI7CiB9CiAKIHZvaWQgUmVuZGVyUmVnaW9uOjphdHRhY2hSZWdpb24o
KQpAQCAtMzA5LDcgKzMwMyw3IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjphdHRhY2hSZWdpb24oKQog
ICAgIC8vIGFuZCB3ZSBhcmUgYXR0YWNoaW5nIHRoZSByZWdpb24gdG8gdGhlIGZsb3cgdGhyZWFk
LgogICAgIGluc3RhbGxGbG93VGhyZWFkKCk7CiAgICAgCi0gICAgaWYgKCFtX2Zsb3dUaHJlYWQp
CisgICAgaWYgKG1fZmxvd1RocmVhZCA9PSBtX3BhcmVudE5hbWVkRmxvd1RocmVhZCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gT25seSBhZnRlciBhZGRpbmcgdGhlIHJlZ2lvbiB0byB0aGUg
dGhyZWFkLCB0aGUgcmVnaW9uIGlzIG1hcmtlZCB0byBiZSB2YWxpZC4KQEAgLTMyMCw3ICszMTQs
NyBAQCB2b2lkIFJlbmRlclJlZ2lvbjo6ZGV0YWNoUmVnaW9uKCkKIHsKICAgICBpZiAobV9mbG93
VGhyZWFkKQogICAgICAgICBtX2Zsb3dUaHJlYWQtPnJlbW92ZVJlZ2lvbkZyb21UaHJlYWQodGhp
cyk7Ci0gICAgbV9mbG93VGhyZWFkID0gMDsKKyAgICBtX2Zsb3dUaHJlYWQgPSBudWxscHRyOwog
fQogCiBSZW5kZXJCb3hSZWdpb25JbmZvKiBSZW5kZXJSZWdpb246OnJlbmRlckJveFJlZ2lvbklu
Zm8oY29uc3QgUmVuZGVyQm94KiBib3gpIGNvbnN0CkBAIC00MzYsOSArNDMwLDggQEAgdm9pZCBS
ZW5kZXJSZWdpb246OmFkanVzdFJlZ2lvbkJvdW5kc0Zyb21GbG93VGhyZWFkUG9ydGlvblJlY3Qo
Y29uc3QgTGF5b3V0UG9pbnQKIAogdm9pZCBSZW5kZXJSZWdpb246OmVuc3VyZU92ZXJmbG93Rm9y
Qm94KGNvbnN0IFJlbmRlckJveCogYm94LCBSZWZQdHI8UmVuZGVyT3ZlcmZsb3c+JiBvdmVyZmxv
dywgYm9vbCBmb3JjZUNyZWF0aW9uKQogewotICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJl
YWQgPSB0aGlzLT5mbG93VGhyZWFkKCk7Ci0gICAgQVNTRVJUKGZsb3dUaHJlYWQpOwotICAgIAor
ICAgIEFTU0VSVChpc1ZhbGlkKCkpOworCiAgICAgUmVuZGVyQm94UmVnaW9uSW5mbyogYm94SW5m
byA9IHJlbmRlckJveFJlZ2lvbkluZm8oYm94KTsKICAgICBpZiAoIWJveEluZm8gJiYgIWZvcmNl
Q3JlYXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTQ1MCw3ICs0NDMsNyBAQCB2b2lkIFJlbmRl
clJlZ2lvbjo6ZW5zdXJlT3ZlcmZsb3dGb3JCb3goY29uc3QgUmVuZGVyQm94KiBib3gsIFJlZlB0
cjxSZW5kZXJPdmVyZgogICAgIAogICAgIExheW91dFJlY3QgYm9yZGVyQm94ID0gYm94LT5ib3Jk
ZXJCb3hSZWN0SW5SZWdpb24odGhpcyk7CiAgICAgTGF5b3V0UmVjdCBjbGllbnRCb3g7Ci0gICAg
QVNTRVJUKGZsb3dUaHJlYWQtPm9iamVjdFNob3VsZFBhaW50SW5GbG93UmVnaW9uKGJveCwgdGhp
cykpOworICAgIEFTU0VSVChtX2Zsb3dUaHJlYWQtPm9iamVjdFNob3VsZFBhaW50SW5GbG93UmVn
aW9uKGJveCwgdGhpcykpOwogCiAgICAgaWYgKCFib3JkZXJCb3guaXNFbXB0eSgpKSB7CiAgICAg
ICAgIGJvcmRlckJveCA9IHJlY3RGbG93UG9ydGlvbkZvckJveChib3gsIGJvcmRlckJveCk7CkBA
IC00NTgsOCArNDUxLDggQEAgdm9pZCBSZW5kZXJSZWdpb246OmVuc3VyZU92ZXJmbG93Rm9yQm94
KGNvbnN0IFJlbmRlckJveCogYm94LCBSZWZQdHI8UmVuZGVyT3ZlcmYKICAgICAgICAgY2xpZW50
Qm94ID0gYm94LT5jbGllbnRCb3hSZWN0SW5SZWdpb24odGhpcyk7CiAgICAgICAgIGNsaWVudEJv
eCA9IHJlY3RGbG93UG9ydGlvbkZvckJveChib3gsIGNsaWVudEJveCk7CiAgICAgICAgIAotICAg
ICAgICBmbG93VGhyZWFkLT5mbGlwRm9yV3JpdGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKGJvcmRl
ckJveCk7Ci0gICAgICAgIGZsb3dUaHJlYWQtPmZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRp
bmF0ZXMoY2xpZW50Qm94KTsKKyAgICAgICAgbV9mbG93VGhyZWFkLT5mbGlwRm9yV3JpdGluZ01v
ZGVMb2NhbENvb3JkaW5hdGVzKGJvcmRlckJveCk7CisgICAgICAgIG1fZmxvd1RocmVhZC0+Zmxp
cEZvcldyaXRpbmdNb2RlTG9jYWxDb29yZGluYXRlcyhjbGllbnRCb3gpOwogICAgIH0KIAogICAg
IGlmIChib3hJbmZvKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228722</attachid>
            <date>2014-04-06 23:02:05 -0700</date>
            <delta_ts>2014-04-06 23:38:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-131232-20140407090410.patch</filename>
            <type>text/plain</type>
            <size>21055</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2ODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYwMTdjZjMwYWE5N2Vj
ZGM0NTVhNWI4YTJlNDY3MDdjNmQ1ZDE0OS4uYWVhOGIzZjM4MWYyNDg4NTk5MTJmN2U0MTA2ZmJl
ZDY5NDM3MWI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE0LTA0LTA2ICBNaWhu
ZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSBV
c2UgUmVuZGVyUmVnaW9uOjppc1ZhbGlkKCkgYmVmb3JlIHVzaW5nIGEgcmVnaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEyMzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgIFJlbmRlclJlZ2lvbiBtZXRo
b2QgaXNWYWxpZCgpIHNob3VsZCBiZSB1c2VkIHRvIHRlc3Qgd2hldGhlciBhIHJlZ2lvbgorICAg
ICAgICBpcyBnb29kIHRvIHVzZSBpbnN0ZWFkIG9mIGEgbWl4IGJldHdlZW4gaXNWYWxpZCgpIGFu
ZCBmbG93VGhyZWFkKCkuCisgICAgICAgIFdoZW4gdGhlIHJlZ2lvbiBpcyBkZXNpZ25lZCB0byBm
cmFnbWVudCBjb250ZW50IGZyb20gYSBwYXJlbnQgZmxvdyB0aHJlYWQsCisgICAgICAgIHRoZSBt
X2Zsb3dUaHJlYWQgaXMgbm90IG51bGxpZmllZCBhbnltb3JlLCB0aHVzIGVuc3VyaW5nIHRoZSBz
YW1lIHRyZWF0bWVudCBmb3IgYWxsIGludmFsaWQKKyAgICAgICAgcmVnaW9ucy4KKyAgICAgICAg
Q292ZXJlZCBieSBleGlzdGluZyByZWdpb25zIHRlc3RzLgorCisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JF
bGVtZW50SW5mbyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpwYWludExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpo
aXRUZXN0TGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNs
aXBSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpwYWdlTG9naWNh
bEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6bWF4
UGFnZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dU
aHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRGbG93VGhyZWFkOjpnZXRS
YW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRGbG93VGhyZWFkOjpjbGVhclJl
bmRlck9iamVjdEN1c3RvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxv
d1RocmVhZDo6Y2hlY2tSZWdpb25zV2l0aFN0eWxpbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpSZW5kZXJS
ZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpwb3NpdGlvbkZvclBvaW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6cGFnZUxvZ2ljYWxXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OnBhZ2VMb2dpY2FsSGVpZ2h0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6c3R5bGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUmVnaW9uOjppbnN0YWxsRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJSZWdpb246OmF0dGFjaFJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJS
ZWdpb246OmRldGFjaFJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmVu
c3VyZU92ZXJmbG93Rm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6cmVu
ZGVyQm94UmVnaW9uSW5mbyk6CisKIDIwMTQtMDQtMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIE1ha2Ugc29tZSBiaW5kaW5ncyBpbXByb3ZlbWVudHMsIHdpdGgg
c21hbGxlciBjb2RlIHNpemUgZm9yIGVycm9yIG1lc3NhZ2UgZ2VuZXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDBjMjkwYWM4MWJl
NGY1MWFmNjM3YjU3MWVlNTNjYTg1M2VhY2FiZjQuLjhiNzkwZGE5Zjk3OTYwNTJhOWEyYzRkMWMy
N2YxZTJmMjI1MTUyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCiAKICNp
bmNsdWRlICJEb2N1bWVudExvYWRlci5oIgpAQCAtNjc4LDggKzY3Nyw5IEBAIHN0YXRpYyBQYXNz
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4gYnVpbGRPYmplY3RGb3JFbGVtZW50SW5mbyhOb2RlKiBu
b2RlKQogICAgIAogICAgIGlmIChyZW5kZXJlci0+aXNSZW5kZXJOYW1lZEZsb3dGcmFnbWVudENv
bnRhaW5lcigpKSB7CiAgICAgICAgIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KiByZWdpb24gPSB0
b1JlbmRlckJsb2NrRmxvdyhyZW5kZXJlciktPnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KCk7Ci0g
ICAgICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQgPSByZWdpb24tPmZsb3dUaHJlYWQo
KTsKLSAgICAgICAgaWYgKGZsb3dUaHJlYWQgJiYgZmxvd1RocmVhZC0+aXNSZW5kZXJOYW1lZEZs
b3dUaHJlYWQoKSkgeworICAgICAgICBpZiAocmVnaW9uLT5pc1ZhbGlkKCkpIHsKKyAgICAgICAg
ICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQgPSByZWdpb24tPmZsb3dUaHJlYWQoKTsK
KyAgICAgICAgICAgIEFTU0VSVChmbG93VGhyZWFkICYmIGZsb3dUaHJlYWQtPmlzUmVuZGVyTmFt
ZWRGbG93VGhyZWFkKCkpOwogICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVn
aW9uRmxvd0luZm8gPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICAgICAgcmVn
aW9uRmxvd0luZm8tPnNldFN0cmluZygibmFtZSIsIHRvUmVuZGVyTmFtZWRGbG93VGhyZWFkKGZs
b3dUaHJlYWQpLT5mbG93VGhyZWFkTmFtZSgpKTsKICAgICAgICAgICAgIHJlZ2lvbkZsb3dJbmZv
LT5zZXRBcnJheSgicmVnaW9ucyIsIGJ1aWxkT2JqZWN0Rm9yQ1NTUmVnaW9uc0hpZ2hsaWdodChy
ZWdpb24sIGZsb3dUaHJlYWQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggMTE3ODM1M2M1NTIzOWQ5M2IzZGE3OGI2YWVlNzA1YmM4ODViNjFkZi4uMTU0ODlkNWU4
NzcxMzQxYWU3NWI3ZTYxNDc0NmM4ZjcyMGM5MTgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKQEAgLTQ1NTMsMTMgKzQ1NTMsMTIgQEAgTGF5b3V0UmVjdCBSZW5kZXJC
b3g6Om92ZXJmbG93UmVjdEZvclBhaW50UmVqZWN0aW9uKFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50
KiBuYW0KICAgICAvLyBjYXVzZSB0aGUgcGFpbnQgcmVqZWN0aW9uIGFsZ29yaXRobSB0byBwcmV2
ZW50IHRoZW0gZnJvbSBwYWludGluZyB3aGVuIHVzaW5nIGRpZmZlcmVudCB3aWR0aCByZWdpb25z
LgogICAgIC8vIGUuZy4gYW4gYWJzb2x1dGVseSBwb3NpdGlvbmVkIGJveCB3aXRoIGJvdHRvbTow
cHggYW5kIHJpZ2h0OjBweCB3b3VsZCBoYXZlIGl0J3MgZnJhbWVSZWN0LnggcmVsYXRpdmUKICAg
ICAvLyB0byB0aGUgZmxvdyB0aHJlYWQsIG5vdCB0aGUgbGFzdCByZWdpb24gKGluIHdoaWNoIGl0
IHdpbGwgZW5kIHVwIGJlY2F1c2Ugb2YgYm90dG9tOjBweCkKLSAgICBpZiAobmFtZWRGbG93RnJh
Z21lbnQpIHsKLSAgICAgICAgaWYgKFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQgPSBuYW1l
ZEZsb3dGcmFnbWVudC0+Zmxvd1RocmVhZCgpKSB7Ci0gICAgICAgICAgICBSZW5kZXJSZWdpb24q
IHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKLSAgICAgICAgICAgIFJlbmRlclJlZ2lvbiogZW5kUmVn
aW9uID0gbnVsbHB0cjsKLSAgICAgICAgICAgIGlmIChmbG93VGhyZWFkLT5nZXRSZWdpb25SYW5n
ZUZvckJveCh0aGlzLCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKSkKLSAgICAgICAgICAgICAgICBv
dmVyZmxvd1JlY3QudW5pdGUobmFtZWRGbG93RnJhZ21lbnQtPnZpc3VhbE92ZXJmbG93UmVjdEZv
ckJveCh0aGlzKSk7Ci0gICAgICAgIH0KKyAgICBpZiAobmFtZWRGbG93RnJhZ21lbnQgJiYgbmFt
ZWRGbG93RnJhZ21lbnQtPmlzVmFsaWQoKSkgeworICAgICAgICBSZW5kZXJGbG93VGhyZWFkKiBm
bG93VGhyZWFkID0gbmFtZWRGbG93RnJhZ21lbnQtPmZsb3dUaHJlYWQoKTsKKyAgICAgICAgUmVu
ZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CisgICAgICAgIFJlbmRlclJlZ2lvbiog
ZW5kUmVnaW9uID0gbnVsbHB0cjsKKyAgICAgICAgaWYgKGZsb3dUaHJlYWQtPmdldFJlZ2lvblJh
bmdlRm9yQm94KHRoaXMsIHN0YXJ0UmVnaW9uLCBlbmRSZWdpb24pKQorICAgICAgICAgICAgb3Zl
cmZsb3dSZWN0LnVuaXRlKG5hbWVkRmxvd0ZyYWdtZW50LT52aXN1YWxPdmVyZmxvd1JlY3RGb3JC
b3godGhpcykpOwogICAgIH0KICAgICAKICAgICBpZiAoIW1fb3ZlcmZsb3cgfHwgIXVzZXNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCBiNjUxMDNiNjVhMTM0YjU2N2JkYzM5YmJjZWY0MTcx
NWM4NzEyM2ViLi4zZTZhMmI0NTAyZDVmNmNhNzVmZGNhYmRjZThmZmZlMTNhZmI2NGJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAK
QEAgLTU4OSw5ICs1ODksOCBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tG
b3JUZXh0RmlsbEJveChJbWFnZUJ1ZmZlciogbWFza0ltYWdlLCBjb25zdAogICAgICAgICBib3gt
PnBhaW50KGluZm8sIExheW91dFBvaW50KHNjcm9sbGVkUGFpbnRSZWN0LngoKSAtIGJveC0+eCgp
LCBzY3JvbGxlZFBhaW50UmVjdC55KCkgLSBib3gtPnkoKSksIHJvb3RCb3gubGluZVRvcCgpLCBy
b290Qm94LmxpbmVCb3R0b20oKSk7CiAgICAgfSBlbHNlIGlmIChpc1JlbmRlck5hbWVkRmxvd0Zy
YWdtZW50Q29udGFpbmVyKCkpIHsKICAgICAgICAgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIHJl
Z2lvbiA9IHRvUmVuZGVyQmxvY2tGbG93KHRoaXMpLT5yZW5kZXJOYW1lZEZsb3dGcmFnbWVudCgp
OwotICAgICAgICBpZiAoIXJlZ2lvbi0+Zmxvd1RocmVhZCgpKQotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICByZWdpb24tPmZsb3dUaHJlYWQoKS0+bGF5ZXIoKS0+cGFpbnROYW1lZEZsb3dU
aHJlYWRJbnNpZGVSZWdpb24obWFza0ltYWdlQ29udGV4dCwgcmVnaW9uLCBtYXNrUmVjdCwgbWFz
a1JlY3QubG9jYXRpb24oKSwgUGFpbnRCZWhhdmlvckZvcmNlQmxhY2tUZXh0LCBSZW5kZXJMYXll
cjo6UGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cyk7CisgICAgICAgIGlmIChyZWdpb24tPmlz
VmFsaWQoKSkKKyAgICAgICAgICAgIHJlZ2lvbi0+Zmxvd1RocmVhZCgpLT5sYXllcigpLT5wYWlu
dE5hbWVkRmxvd1RocmVhZEluc2lkZVJlZ2lvbihtYXNrSW1hZ2VDb250ZXh0LCByZWdpb24sIG1h
c2tSZWN0LCBtYXNrUmVjdC5sb2NhdGlvbigpLCBQYWludEJlaGF2aW9yRm9yY2VCbGFja1RleHQs
IFJlbmRlckxheWVyOjpQYWludExheWVyVGVtcG9yYXJ5Q2xpcFJlY3RzKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICBMYXlvdXRTaXplIGxvY2FsT2Zmc2V0ID0gaXNCb3goKSA/IHRvUmVuZGVyQm94
KHRoaXMpLT5sb2NhdGlvbk9mZnNldCgpIDogTGF5b3V0U2l6ZSgpOwogICAgICAgICBwYWludChp
bmZvLCBzY3JvbGxlZFBhaW50UmVjdC5sb2NhdGlvbigpIC0gbG9jYWxPZmZzZXQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNjIxYmQ2ODg4ZTZmMzJlYjEx
MjYyN2Y3NTcyOWU5NjRlYzNhNWY4OC4uN2IxMmY0YTAyNTA3ZDYwN2JiODFlMzMxNGJkNTI5ZTVh
MjhiZDEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC00
MzksNyArNDM5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlTGF5ZXJQb3NpdGlvbnMoUmVu
ZGVyR2VvbWV0cnlNYXAqIGdlb21ldHJ5TWFwLCBVcGRhdGVMYXkKICAgICAgICAgICAgICAgICAg
ICAgLy8gSWYgd2UganVzdCByZXBhaW50ZWQgYSByZWdpb24sIHdlIG11c3QgYWxzbyByZXBhaW50
IHRoZSBmbG93IHRocmVhZCBzaW5jZSBpdCBpcyB0aGUgb25lCiAgICAgICAgICAgICAgICAgICAg
IC8vIGRvaW5nIHRoZSBhY3R1YWwgcGFpbnRpbmcgb2YgdGhlIGZsb3dlZCBjb250ZW50LgogICAg
ICAgICAgICAgICAgICAgICBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogcmVnaW9uID0gdG9SZW5k
ZXJCbG9ja0Zsb3coJnJlbmRlcmVyKCkpLT5yZW5kZXJOYW1lZEZsb3dGcmFnbWVudCgpOwotICAg
ICAgICAgICAgICAgICAgICBpZiAocmVnaW9uLT5mbG93VGhyZWFkKCkpCisgICAgICAgICAgICAg
ICAgICAgIGlmIChyZWdpb24tPmlzVmFsaWQoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJl
Z2lvbi0+Zmxvd1RocmVhZCgpLT5sYXllcigpLT5yZXBhaW50SW5jbHVkaW5nRGVzY2VuZGFudHMo
KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0zNzQzLDEwICszNzQzLDgg
QEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJgogICAgICAgICBpZiAoZW5jbG9zaW5nUGFnaW5hdGlv
bkxheWVyKCkpCiAgICAgICAgICAgICBpbmZvLnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50ID0gbnVs
bHB0cjsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBSZW5kZXJGbG93VGhyZWFkKiBmbG93
VGhyZWFkID0gbmFtZWRGbG93RnJhZ21lbnQtPmZsb3dUaHJlYWQoKTsKLSAgICAgICAgICAgIEFT
U0VSVChmbG93VGhyZWFkKTsKLQotICAgICAgICAgICAgaWYgKCFmbG93VGhyZWFkLT5vYmplY3RT
aG91bGRQYWludEluRmxvd1JlZ2lvbigmcmVuZGVyZXIoKSwgbmFtZWRGbG93RnJhZ21lbnQpKQor
ICAgICAgICAgICAgQVNTRVJUKG5hbWVkRmxvd0ZyYWdtZW50LT5pc1ZhbGlkKCkpOworICAgICAg
ICAgICAgaWYgKCFuYW1lZEZsb3dGcmFnbWVudC0+Zmxvd1RocmVhZCgpLT5vYmplY3RTaG91bGRQ
YWludEluRmxvd1JlZ2lvbigmcmVuZGVyZXIoKSwgbmFtZWRGbG93RnJhZ21lbnQpKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTQ4MjAsOSArNDgxOCw4IEBA
IFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdExheWVyKFJlbmRlckxheWVyKiByb290
TGF5ZXIsIFJlbmRlckxheWVyKiBjb250CiAgICAgLy8gVGhpcyBpcyB0cnVlIGFzIGxvbmcgYXMg
d2UgY2xhbXAgdGhlIHJhbmdlIG9mIGEgYm94IHRvIGl0cyBjb250YWluaW5nIGJsb2NrIHJhbmdl
LgogICAgIC8vIEZJWE1FOiBGaXggaGl0IHRlc3Rpbmcgd2l0aCBpbi1mbG93IHRocmVhZHMgaW5j
bHVkZWQgaW4gb3V0LW9mLWZsb3cgdGhyZWFkcy4KICAgICBpZiAoaGl0VGVzdExvY2F0aW9uLnJl
Z2lvbigpKSB7CisgICAgICAgIEFTU0VSVChoaXRUZXN0TG9jYXRpb24ucmVnaW9uKCktPmlzVmFs
aWQoKSk7CiAgICAgICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQgPSBoaXRUZXN0TG9j
YXRpb24ucmVnaW9uKCktPmZsb3dUaHJlYWQoKTsKLSAgICAgICAgQVNTRVJUKGZsb3dUaHJlYWQp
OwotCiAgICAgICAgIGlmICghZmxvd1RocmVhZC0+b2JqZWN0U2hvdWxkUGFpbnRJbkZsb3dSZWdp
b24oJnJlbmRlcmVyKCksIGhpdFRlc3RMb2NhdGlvbi5yZWdpb24oKSkpCiAgICAgICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CkBAIC01NDkyLDYgKzU0ODksNyBAQCB2b2lkIFJlbmRlckxheWVyOjpj
YWxjdWxhdGVSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250ZXh0LCBj
b25zdAogCiAgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IGNsaXBSZWN0c0NvbnRl
eHQucmVnaW9uID8gY2xpcFJlY3RzQ29udGV4dC5yZWdpb24tPmZsb3dUaHJlYWQoKSA6IDA7CiAg
ICAgaWYgKGlzU2VsZlBhaW50aW5nTGF5ZXIoKSAmJiBmbG93VGhyZWFkICYmICFyZW5kZXJlcigp
LmlzSW5GbG93UmVuZGVyRmxvd1RocmVhZCgpKSB7CisgICAgICAgIEFTU0VSVChjbGlwUmVjdHND
b250ZXh0LnJlZ2lvbi0+aXNWYWxpZCgpKTsKICAgICAgICAgY29uc3QgUmVuZGVyQm94TW9kZWxP
YmplY3QmIGJveE1vZGVsT2JqZWN0ID0gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChyZW5kZXJlcigp
KTsKICAgICAgICAgTGF5b3V0UmVjdCBsYXllckJvdW5kc1dpdGhWaXN1YWxPdmVyZmxvdyA9IGNs
aXBSZWN0c0NvbnRleHQucmVnaW9uLT52aXN1YWxPdmVyZmxvd1JlY3RGb3JCb3goJmJveE1vZGVs
T2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd0ZyYWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dGcmFnbWVudC5jcHAKaW5kZXggYzcyYTJmMTY2YjlmMjU3MDAxZTc0OGIzMTUwZWZlZjhm
MzhhNWM4MC4uY2Q4ZGJiMWJhN2U3ZjlhM2FmZjMyMzU3Y2RmNWYxMDQwNjNiYTc5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQu
Y3BwCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6dXBk
YXRlTG9naWNhbEhlaWdodCgpCiAKIExheW91dFVuaXQgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQ6
OnBhZ2VMb2dpY2FsSGVpZ2h0KCkgY29uc3QKIHsKLSAgICBBU1NFUlQobV9mbG93VGhyZWFkKTsK
KyAgICBBU1NFUlQoaXNWYWxpZCgpKTsKICAgICBpZiAoaGFzQ29tcHV0ZWRBdXRvSGVpZ2h0KCkg
JiYgbV9mbG93VGhyZWFkLT5pbk1lYXN1cmVDb250ZW50TGF5b3V0UGhhc2UoKSkgewogICAgICAg
ICBBU1NFUlQoaGFzQXV0b0xvZ2ljYWxIZWlnaHQoKSk7CiAgICAgICAgIHJldHVybiBjb21wdXRl
ZEF1dG9IZWlnaHQoKTsKQEAgLTE3OCw3ICsxNzgsNyBAQCBMYXlvdXRVbml0IFJlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50OjpwYWdlTG9naWNhbEhlaWdodCgpIGNvbnN0CiAvLyBoZWlnaHQgdmFsdWUg
Zm9yIGF1dG8taGVpZ2h0IHJlZ2lvbnMgaW4gdGhlIGZpcnN0IGxheW91dCBwaGFzZSBvZiB0aGUg
cGFyZW50IG5hbWVkIGZsb3cuCiBMYXlvdXRVbml0IFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50Ojpt
YXhQYWdlTG9naWNhbEhlaWdodCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1fZmxvd1RocmVhZCk7
CisgICAgQVNTRVJUKGlzVmFsaWQoKSk7CiAgICAgQVNTRVJUKGhhc0F1dG9Mb2dpY2FsSGVpZ2h0
KCkgJiYgbV9mbG93VGhyZWFkLT5pbk1lYXN1cmVDb250ZW50TGF5b3V0UGhhc2UoKSk7CiAgICAg
QVNTRVJUKGlzQW5vbnltb3VzKCkpOwogICAgIEFTU0VSVChwYXJlbnQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDg0
YTExODI3NTc1NTU5ZjZlMjA4YTgyNzgxZTZkYWU2NWQwZTE1ZGIuLjc0YjhkNDcwOTU2NGI2ZWVh
YzM2ZWUxYWQzZjMwNzYzZDcxNmRkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBAIC03MjUsNyArNzI1LDggQEAgdm9pZCBS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmdldFJhbmdlcyhWZWN0b3I8UmVmUHRyPFJhbmdlPj4mIHJh
bmdlT2JqZWN0cywgY29uc3QKIAogICAgICAgICAgICAgLy8gc3RhcnQgcG9zaXRpb24KICAgICAg
ICAgICAgIGlmIChsb2dpY2FsVG9wRm9yUmVuZGVyZXIgPCBsb2dpY2FsVG9wRm9yUmVnaW9uICYm
IHN0YXJ0c0Fib3ZlUmVnaW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVyLT5pc1Rl
eHQoKSkgeyAvLyBUZXh0IGNyb3NzZXMgcmVnaW9uIHRvcAorICAgICAgICAgICAgICAgIGlmIChy
ZW5kZXJlci0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGV4dCBjcm9zc2Vz
IHJlZ2lvbiB0b3AKICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIFRleHQgZWxlbWVudHMsIGp1
c3QgZmluZCB0aGUgbGFzdCB0ZXh0Ym94IHRoYXQgaXMgY29udGFpbmVkIGluc2lkZSB0aGUgcmVn
aW9uIGFuZCB1c2UgaXRzIHN0YXJ0KCkgb2Zmc2V0IGFzIHN0YXJ0IHBvc2l0aW9uCiAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQqIHRleHRSZW5kZXJlciA9IHRvUmVuZGVyVGV4dChyZW5k
ZXJlcik7CiAgICAgICAgICAgICAgICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogYm94ID0gdGV4
dFJlbmRlcmVyLT5maXJzdFRleHRCb3goKTsgYm94OyBib3ggPSBib3gtPm5leHRUZXh0Qm94KCkp
IHsKQEAgLTczNSwxMiArNzM2LDE0IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpnZXRS
YW5nZXMoVmVjdG9yPFJlZlB0cjxSYW5nZT4+JiByYW5nZU9iamVjdHMsIGNvbnN0CiAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGFydHNBYm92ZVJlZ2lvbiA9IGZhbHNlOwogICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICB9IGVsc2UgeyAvLyBub2RlIGNyb3NzZXMgcmVnaW9uIHRvcAorICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8vIG5vZGUgY3Jvc3NlcyByZWdpb24gdG9wCiAg
ICAgICAgICAgICAgICAgICAgIC8vIGZvciBhbGwgZWxlbWVudHMsIGV4Y2VwdCBUZXh0LCBqdXN0
IHNldCB0aGUgc3RhcnQgcG9zaXRpb24gdG8gYmUgYmVmb3JlIHRoZWlyIGNoaWxkcmVuCiAgICAg
ICAgICAgICAgICAgICAgIHN0YXJ0c0Fib3ZlUmVnaW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICAgICAgcmFuZ2UtPnNldFN0YXJ0KFBvc2l0aW9uKG5vZGUsIFBvc2l0aW9uOjpQb3NpdGlvbklz
QmVmb3JlQ2hpbGRyZW4pKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2Ug
eyAvLyBub2RlIHN0YXJ0cyBpbnNpZGUgcmVnaW9uCisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIC8vIG5vZGUgc3RhcnRzIGluc2lkZSByZWdpb24KICAgICAgICAgICAgICAg
ICAvLyBmb3IgZWxlbWVudHMgdGhhdCBzdGFydCBpbnNpZGUgdGhlIHJlZ2lvbiwgc2V0IHRoZSBz
dGFydCBwb3NpdGlvbiB0byBiZSBiZWZvcmUgdGhlbS4gSWYgd2UgZm91bmQgb25lLCB3ZSB3aWxs
IGp1c3Qgc2tpcCB0aGUgb3RoZXJzIHVudGlsCiAgICAgICAgICAgICAgICAgLy8gdGhlIHJhbmdl
IGlzIGNsb3NlZC4KICAgICAgICAgICAgICAgICBpZiAoc3RhcnRzQWJvdmVSZWdpb24pIHsKQEAg
LTc1NCw3ICs3NTcsOCBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6Z2V0UmFuZ2VzKFZl
Y3RvcjxSZWZQdHI8UmFuZ2U+PiYgcmFuZ2VPYmplY3RzLCBjb25zdAogICAgICAgICAgICAgLy8g
ZW5kIHBvc2l0aW9uCiAgICAgICAgICAgICBpZiAobG9naWNhbEJvdHRvbUZvclJlZ2lvbiA8IGxv
Z2ljYWxCb3R0b21Gb3JSZW5kZXJlciAmJiAoZW5kc0JlbG93UmVnaW9uIHx8ICghZW5kc0JlbG93
UmVnaW9uICYmICFub2RlLT5pc0Rlc2NlbmRhbnRPZihsYXN0RW5kTm9kZSkpKSkgewogICAgICAg
ICAgICAgICAgIC8vIGZvciBUZXh0IGVsZW1lbnRzLCBqdXN0IGZpbmQganVzdCBmaW5kIHRoZSBs
YXN0IHRleHRib3ggdGhhdCBpcyBjb250YWluZWQgaW5zaWRlIHRoZSByZWdpb24gYW5kIHVzZSBp
dHMgc3RhcnQoKStsZW4oKSBvZmZzZXQgYXMgZW5kIHBvc2l0aW9uCi0gICAgICAgICAgICAgICAg
aWYgKHJlbmRlcmVyLT5pc1RleHQoKSkgeyAvLyBUZXh0IGNyb3NzZXMgcmVnaW9uIGJvdHRvbQor
ICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlci0+aXNUZXh0KCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gVGV4dCBjcm9zc2VzIHJlZ2lvbiBib3R0b20KICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCogdGV4dFJlbmRlcmVyID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKTsKICAgICAg
ICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogbGFzdEJveCA9IDA7CiAgICAgICAgICAgICAg
ICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogYm94ID0gdGV4dFJlbmRlcmVyLT5maXJzdFRleHRC
b3goKTsgYm94OyBib3ggPSBib3gtPm5leHRUZXh0Qm94KCkpIHsKQEAgLTc2OSwxMyArNzczLDE1
IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpnZXRSYW5nZXMoVmVjdG9yPFJlZlB0cjxS
YW5nZT4+JiByYW5nZU9iamVjdHMsIGNvbnN0CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAgICAgZW5kc0JlbG93UmVnaW9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICAg
ICAgIGxhc3RFbmROb2RlID0gbm9kZTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgeyAvLyBub2Rl
IGNyb3NzZXMgcmVnaW9uIGJvdHRvbQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIG5vZGUgY3Jvc3NlcyByZWdpb24gYm90dG9tCiAgICAgICAgICAgICAg
ICAgICAgIC8vIGZvciBhbGwgZWxlbWVudHMsIGV4Y2VwdCBUZXh0LCBqdXN0IHNldCB0aGUgc3Rh
cnQgcG9zaXRpb24gdG8gYmUgYWZ0ZXIgdGhlaXIgY2hpbGRyZW4KICAgICAgICAgICAgICAgICAg
ICAgcmFuZ2UtPnNldEVuZChQb3NpdGlvbihub2RlLCBQb3NpdGlvbjo6UG9zaXRpb25Jc0FmdGVy
Q2hpbGRyZW4pKTsKICAgICAgICAgICAgICAgICAgICAgZW5kc0JlbG93UmVnaW9uID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICAgICAgbGFzdEVuZE5vZGUgPSBub2RlOwogICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0gZWxzZSB7IC8vIG5vZGUgZW5kcyBpbnNpZGUgcmVnaW9uCisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIG5vZGUgZW5kcyBpbnNpZGUgcmVn
aW9uCiAgICAgICAgICAgICAgICAgLy8gZm9yIGVsZW1lbnRzIHRoYXQgZW5kcyBpbnNpZGUgdGhl
IHJlZ2lvbiwgc2V0IHRoZSBlbmQgcG9zaXRpb24gdG8gYmUgYWZ0ZXIgdGhlbQogICAgICAgICAg
ICAgICAgIC8vIGFsbG93IHRoaXMgZW5kIHBvc2l0aW9uIHRvIGJlIGNoYW5nZWQgb25seSBieSBv
dGhlciBlbGVtZW50cyB0aGF0IGFyZSBub3QgZGVzY2VuZGFudHMgb2YgdGhlIGN1cnJlbnQgZW5k
IG5vZGUKICAgICAgICAgICAgICAgICBpZiAoZW5kc0JlbG93UmVnaW9uIHx8ICghZW5kc0JlbG93
UmVnaW9uICYmICFub2RlLT5pc0Rlc2NlbmRhbnRPZihsYXN0RW5kTm9kZSkpKSB7CkBAIC04MTYs
OSArODIyLDggQEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmNsZWFyUmVuZGVyT2JqZWN0
Q3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmoKIHsKICAgICAvLyBDbGVhciB0aGUg
c3R5bGVzIGZvciB0aGUgb2JqZWN0IGluIHRoZSByZWdpb25zLgogICAgIC8vIEZJWE1FOiBSZWdp
b24gc3R5bGluZyBpcyBub3QgY29tcHV0ZWQgb25seSBmb3IgdGhlIHJlZ2lvbiByYW5nZSBvZiB0
aGUgb2JqZWN0IHNvIHRoaXMgaXMgd2h5IHdlIG5lZWQgdG8gd2FsayB0aGUgd2hvbGUgY2hhaW4u
Ci0gICAgZm9yIChhdXRvJiByZWdpb24gOiBtX3JlZ2lvbkxpc3QpIHsKKyAgICBmb3IgKGF1dG8m
IHJlZ2lvbiA6IG1fcmVnaW9uTGlzdCkKICAgICAgICAgdG9SZW5kZXJOYW1lZEZsb3dGcmFnbWVu
dChyZWdpb24pLT5jbGVhck9iamVjdFN0eWxlSW5SZWdpb24ob2JqZWN0KTsKLSAgICB9CiB9CiAK
IHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZW1vdmVGbG93Q2hpbGRJbmZvKFJlbmRlck9i
amVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCmlu
ZGV4IGUwZTdjOGFlNmM4MzE1ZjlhZjdkNGNjZTkwYWZhYWIwZGM0M2JiMzkuLmVlNGYxNjdlMTFi
MTMzZmJmYzdhNDVlNDBlZWJiNGE1NWRiNGE1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZWdpb24uY3BwCkBAIC01MSw3ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IFJlbmRlclJlZ2lvbjo6UmVuZGVyUmVnaW9uKEVsZW1lbnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVu
ZGVyU3R5bGU+IHN0eWxlLCBSZW5kZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkKQogICAgIDogUmVu
ZGVyQmxvY2tGbG93KGVsZW1lbnQsIHN0ZDo6bW92ZShzdHlsZSkpCiAgICAgLCBtX2Zsb3dUaHJl
YWQoZmxvd1RocmVhZCkKLSAgICAsIG1fcGFyZW50TmFtZWRGbG93VGhyZWFkKDApCisgICAgLCBt
X3BhcmVudE5hbWVkRmxvd1RocmVhZChudWxscHRyKQogICAgICwgbV9pc1ZhbGlkKGZhbHNlKQog
ewogfQpAQCAtNTksNyArNTksNyBAQCBSZW5kZXJSZWdpb246OlJlbmRlclJlZ2lvbihFbGVtZW50
JiBlbGVtZW50LCBQYXNzUmVmPFJlbmRlclN0eWxlPiBzdHlsZSwgUmVuZGVyRgogUmVuZGVyUmVn
aW9uOjpSZW5kZXJSZWdpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBQYXNzUmVmPFJlbmRlclN0eWxl
PiBzdHlsZSwgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCkKICAgICA6IFJlbmRlckJsb2Nr
Rmxvdyhkb2N1bWVudCwgc3RkOjptb3ZlKHN0eWxlKSkKICAgICAsIG1fZmxvd1RocmVhZChmbG93
VGhyZWFkKQotICAgICwgbV9wYXJlbnROYW1lZEZsb3dUaHJlYWQoMCkKKyAgICAsIG1fcGFyZW50
TmFtZWRGbG93VGhyZWFkKG51bGxwdHIpCiAgICAgLCBtX2lzVmFsaWQoZmFsc2UpCiB7CiB9CkBA
IC0xMDYsNyArMTA2LDYgQEAgTGF5b3V0UG9pbnQgUmVuZGVyUmVnaW9uOjptYXBSZWdpb25Qb2lu
dEludG9GbG93VGhyZWFkQ29vcmRpbmF0ZXMoY29uc3QgTGF5b3V0UG8KIAogVmlzaWJsZVBvc2l0
aW9uIFJlbmRlclJlZ2lvbjo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnQpCiB7Ci0gICAgQVNTRVJUKG1fZmxvd1RocmVhZCk7CiAgICAgaWYgKCFpc1ZhbGlkKCkgfHwg
IW1fZmxvd1RocmVhZC0+Zmlyc3RDaGlsZCgpKSAvLyBjaGVja2luZyBmb3IgZW1wdHkgcmVnaW9u
IGJsb2Nrcy4KICAgICAgICAgcmV0dXJuIFJlbmRlckJsb2NrOjpwb3NpdGlvbkZvclBvaW50KHBv
aW50KTsKIApAQCAtMTE1LDEzICsxMTQsMTMgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlclJlZ2lv
bjo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQpCiAKIExheW91dFVu
aXQgUmVuZGVyUmVnaW9uOjpwYWdlTG9naWNhbFdpZHRoKCkgY29uc3QKIHsKLSAgICBBU1NFUlQo
bV9mbG93VGhyZWFkKTsKKyAgICBBU1NFUlQoaXNWYWxpZCgpKTsKICAgICByZXR1cm4gbV9mbG93
VGhyZWFkLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudFdpZHRoKCkgOiBjb250
ZW50SGVpZ2h0KCk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyUmVnaW9uOjpwYWdlTG9naWNhbEhl
aWdodCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG1fZmxvd1RocmVhZCk7CisgICAgQVNTRVJUKGlz
VmFsaWQoKSk7CiAgICAgcmV0dXJuIG1fZmxvd1RocmVhZC0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IGNvbnRlbnRIZWlnaHQoKSA6IGNvbnRlbnRXaWR0aCgpOwogfQogCkBAIC0yMDksNyAr
MjA4LDcgQEAgdm9pZCBSZW5kZXJSZWdpb246OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3QKIHsKICAgICBSZW5kZXJCbG9ja0Zsb3c6
OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKIAotICAgIGlmICghbV9mbG93VGhyZWFk
KQorICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAob2xkU3R5
bGUgJiYgb2xkU3R5bGUtPndyaXRpbmdNb2RlKCkgIT0gc3R5bGUoKS53cml0aW5nTW9kZSgpKQpA
QCAtMjg5LDExICsyODgsNiBAQCB2b2lkIFJlbmRlclJlZ2lvbjo6aW5zdGFsbEZsb3dUaHJlYWQo
KQogICAgIH0KIAogICAgIG1fcGFyZW50TmFtZWRGbG93VGhyZWFkID0gJipjbG9zZXN0Rmxvd1Ro
cmVhZEFuY2VzdG9yOwotCi0gICAgLy8gRG8gbm90IHRha2UgaW50byBhY2NvdW50IGEgcmVnaW9u
IHRoYXQgbGlua3MgYSBmbG93IHdpdGggaXRzZWxmLiBUaGUgZGVwZW5kZW5jeQotICAgIC8vIGNh
bm5vdCBjaGFuZ2UsIHNvIGl0IGlzIG5vdCB3b3J0aCBhZGRpbmcgaXQgdG8gdGhlIGxpc3QuCi0g
ICAgaWYgKG1fZmxvd1RocmVhZCA9PSBtX3BhcmVudE5hbWVkRmxvd1RocmVhZCkKLSAgICAgICAg
bV9mbG93VGhyZWFkID0gbnVsbHB0cjsKIH0KIAogdm9pZCBSZW5kZXJSZWdpb246OmF0dGFjaFJl
Z2lvbigpCkBAIC0zMDksNyArMzAzLDcgQEAgdm9pZCBSZW5kZXJSZWdpb246OmF0dGFjaFJlZ2lv
bigpCiAgICAgLy8gYW5kIHdlIGFyZSBhdHRhY2hpbmcgdGhlIHJlZ2lvbiB0byB0aGUgZmxvdyB0
aHJlYWQuCiAgICAgaW5zdGFsbEZsb3dUaHJlYWQoKTsKICAgICAKLSAgICBpZiAoIW1fZmxvd1Ro
cmVhZCkKKyAgICBpZiAobV9mbG93VGhyZWFkID09IG1fcGFyZW50TmFtZWRGbG93VGhyZWFkKQog
ICAgICAgICByZXR1cm47CiAKICAgICAvLyBPbmx5IGFmdGVyIGFkZGluZyB0aGUgcmVnaW9uIHRv
IHRoZSB0aHJlYWQsIHRoZSByZWdpb24gaXMgbWFya2VkIHRvIGJlIHZhbGlkLgpAQCAtMzIwLDcg
KzMxNCw3IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjpkZXRhY2hSZWdpb24oKQogewogICAgIGlmICht
X2Zsb3dUaHJlYWQpCiAgICAgICAgIG1fZmxvd1RocmVhZC0+cmVtb3ZlUmVnaW9uRnJvbVRocmVh
ZCh0aGlzKTsKLSAgICBtX2Zsb3dUaHJlYWQgPSAwOworICAgIG1fZmxvd1RocmVhZCA9IG51bGxw
dHI7CiB9CiAKIFJlbmRlckJveFJlZ2lvbkluZm8qIFJlbmRlclJlZ2lvbjo6cmVuZGVyQm94UmVn
aW9uSW5mbyhjb25zdCBSZW5kZXJCb3gqIGJveCkgY29uc3QKQEAgLTQzNiw5ICs0MzAsOCBAQCB2
b2lkIFJlbmRlclJlZ2lvbjo6YWRqdXN0UmVnaW9uQm91bmRzRnJvbUZsb3dUaHJlYWRQb3J0aW9u
UmVjdChjb25zdCBMYXlvdXRQb2ludAogCiB2b2lkIFJlbmRlclJlZ2lvbjo6ZW5zdXJlT3ZlcmZs
b3dGb3JCb3goY29uc3QgUmVuZGVyQm94KiBib3gsIFJlZlB0cjxSZW5kZXJPdmVyZmxvdz4mIG92
ZXJmbG93LCBib29sIGZvcmNlQ3JlYXRpb24pCiB7Ci0gICAgUmVuZGVyRmxvd1RocmVhZCogZmxv
d1RocmVhZCA9IHRoaXMtPmZsb3dUaHJlYWQoKTsKLSAgICBBU1NFUlQoZmxvd1RocmVhZCk7Ci0g
ICAgCisgICAgQVNTRVJUKGlzVmFsaWQoKSk7CisKICAgICBSZW5kZXJCb3hSZWdpb25JbmZvKiBi
b3hJbmZvID0gcmVuZGVyQm94UmVnaW9uSW5mbyhib3gpOwogICAgIGlmICghYm94SW5mbyAmJiAh
Zm9yY2VDcmVhdGlvbikKICAgICAgICAgcmV0dXJuOwpAQCAtNDUwLDcgKzQ0Myw3IEBAIHZvaWQg
UmVuZGVyUmVnaW9uOjplbnN1cmVPdmVyZmxvd0ZvckJveChjb25zdCBSZW5kZXJCb3gqIGJveCwg
UmVmUHRyPFJlbmRlck92ZXJmCiAgICAgCiAgICAgTGF5b3V0UmVjdCBib3JkZXJCb3ggPSBib3gt
PmJvcmRlckJveFJlY3RJblJlZ2lvbih0aGlzKTsKICAgICBMYXlvdXRSZWN0IGNsaWVudEJveDsK
LSAgICBBU1NFUlQoZmxvd1RocmVhZC0+b2JqZWN0U2hvdWxkUGFpbnRJbkZsb3dSZWdpb24oYm94
LCB0aGlzKSk7CisgICAgQVNTRVJUKG1fZmxvd1RocmVhZC0+b2JqZWN0U2hvdWxkUGFpbnRJbkZs
b3dSZWdpb24oYm94LCB0aGlzKSk7CiAKICAgICBpZiAoIWJvcmRlckJveC5pc0VtcHR5KCkpIHsK
ICAgICAgICAgYm9yZGVyQm94ID0gcmVjdEZsb3dQb3J0aW9uRm9yQm94KGJveCwgYm9yZGVyQm94
KTsKQEAgLTQ1OCw4ICs0NTEsOCBAQCB2b2lkIFJlbmRlclJlZ2lvbjo6ZW5zdXJlT3ZlcmZsb3dG
b3JCb3goY29uc3QgUmVuZGVyQm94KiBib3gsIFJlZlB0cjxSZW5kZXJPdmVyZgogICAgICAgICBj
bGllbnRCb3ggPSBib3gtPmNsaWVudEJveFJlY3RJblJlZ2lvbih0aGlzKTsKICAgICAgICAgY2xp
ZW50Qm94ID0gcmVjdEZsb3dQb3J0aW9uRm9yQm94KGJveCwgY2xpZW50Qm94KTsKICAgICAgICAg
Ci0gICAgICAgIGZsb3dUaHJlYWQtPmZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRpbmF0ZXMo
Ym9yZGVyQm94KTsKLSAgICAgICAgZmxvd1RocmVhZC0+ZmxpcEZvcldyaXRpbmdNb2RlTG9jYWxD
b29yZGluYXRlcyhjbGllbnRCb3gpOworICAgICAgICBtX2Zsb3dUaHJlYWQtPmZsaXBGb3JXcml0
aW5nTW9kZUxvY2FsQ29vcmRpbmF0ZXMoYm9yZGVyQm94KTsKKyAgICAgICAgbV9mbG93VGhyZWFk
LT5mbGlwRm9yV3JpdGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKGNsaWVudEJveCk7CiAgICAgfQog
CiAgICAgaWYgKGJveEluZm8pIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MTZkNzRkMTk5ZTA3MzA1YWFmMmY0ZWRjZTc1
NDAyMjA2OTBmY2MxLi5hNDgwNWYwN2VmZDQ5ZGFlYmJkMTc5YzU4N2U2YjQ2NzIyMDBkOTZkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTQtMDQtMDYgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5l
YUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIFVzZSBSZW5kZXJSZWdpb246Omlz
VmFsaWQoKSBiZWZvcmUgdXNpbmcgYSByZWdpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTIzMgorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCisKKyAgICAgICAgQWRqdXN0IHRlc3QgZXhwZWN0YXRpb24gbm93IHRoYXQgYW4g
aW52YWxpZCByZWdpb24gaXMgbm90IHVubmVjZXNzYXJ5IHJlcGFpbnRlZC4KKworICAgICAgICAq
IGZhc3QvcmVnaW9ucy9yZXBhaW50L2ludmFsaWQtcmVnaW9uLXJlcGFpbnQtY3Jhc2gtZXhwZWN0
ZWQudHh0OgorCiAyMDE0LTA0LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZWZhY3RvciBwb3N0LWF0dGFjaCBhbmQgSFRNTE9iamVjdEVsZW1lbnQtcmVsYXRl
ZCBjb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9pbnZh
bGlkLXJlZ2lvbi1yZXBhaW50LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9yZXBhaW50L2ludmFsaWQtcmVnaW9uLXJlcGFpbnQtY3Jhc2gtZXhwZWN0ZWQudHh0
CmluZGV4IDAzZjYzODA1ZWRiYmZlYmFhZjYwZGI0ZDAyZGIwNWFjOWUyZGIzMzMuLjBkODU4MWVi
YzI2YWFhNTI5NzhhMTZkMmQ5ZDM1NGZlOGEzNWMxYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ludmFsaWQtcmVnaW9uLXJlcGFpbnQtY3Jhc2gtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ludmFsaWQtcmVn
aW9uLXJlcGFpbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xMyw5ICsxMyw1IEBAIE9uIHN1Y2Nl
c3MgaXQgc2hvdWxkIG5vdCBjcmFzaCBhbmQgeW91IHNob3VsZCBzZWUgMyByZWN0YW5nbGVzIHBh
aW50ZWQgaW4gdGhlIGZvCiAgIChyZWN0IDEwMCAxMDAgNTAgNTApCiAgIChyZWN0IDEwMCAxMDAg
NTAgMTAwKQogICAocmVjdCAxMDAgMTAwIDUwIDUwKQotICAocmVjdCAxMDAgMTAwIDUwIDE1MCkK
LSAgKHJlY3QgMTAwIDEwMCA1MCAxMDApCi0gIChyZWN0IDEwMCAxMDAgNTAgMTAwKQotICAocmVj
dCAxMDAgMTAwIDUwIDUwKQogKQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>