<?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>34444</bug_id>
          
          <creation_ts>2010-02-01 12:27:26 -0800</creation_ts>
          <short_desc>Crash in Safari opening new tabs/windows to &quot;same page&quot;</short_desc>
          <delta_ts>2010-02-01 16:32:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>186516</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 12:27:26 -0800</bug_when>
    <thetext>Set Safari to open new tabs/windows to the same page.

Run ToT WebKit, visit any single page in a new window, then open a new tab/window.

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000000000d0
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x0000000100a71b42 WebCore::FrameLoader::loadItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 50
1   com.apple.WebCore             	0x0000000100e85dbb WebCore::HistoryController::recursiveGoToItem(WebCore::HistoryItem*, WebCore::HistoryItem*, WebCore::FrameLoadType) + 363
2   com.apple.WebCore             	0x0000000100a71a3d WebCore::Page::goToItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 189
3   com.apple.WebKit              	0x0000000100643dde -[WebView(WebPrivate) _loadBackForwardListFromOtherView:] + 382
4   Safari                    	0x0000000100097226 0x100000000 + 619046
5   com.apple.AppKit              	0x00007fff80ca909a -[NSApplication sendAction:to:from:] + 95
6   Safari                    	0x000000010004e4b3 0x100000000 + 320691
7   com.apple.AppKit              	0x00007fff80ccd602 -[NSMenuItem _corePerformAction] + 365
8   com.apple.AppKit              	0x00007fff80ccd36c -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 121
9   com.apple.AppKit              	0x00007fff80cb3009 -[NSMenu performKeyEquivalent:] + 272
10  com.apple.AppKit              	0x00007fff80cb1db1 -[NSApplication _handleKeyEquivalent:] + 559
11  com.apple.AppKit              	0x00007fff80b829e1 -[NSApplication sendEvent:] + 3630
12  Safari                    	0x0000000100032aa2 0x100000000 + 207522
13  com.apple.AppKit              	0x00007fff80b19796 -[NSApplication run] + 474
14  com.apple.AppKit              	0x00007fff80b12468 NSApplicationMain + 364
15  Safari                    	0x0000000100002224 0x100000000 + 8740

I have a patch coming to plug two places where the current history item is not null checked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186517</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 12:27:44 -0800</bug_when>
    <thetext>In Radar as &lt;rdar://problem/7593857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186519</commentid>
    <comment_count>2</comment_count>
      <attachid>47863</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 12:30:39 -0800</bug_when>
    <thetext>Created attachment 47863
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186522</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-01 12:33:17 -0800</bug_when>
    <thetext>Attachment 47863 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/loader/FrameLoader.cpp:3822:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Total errors found: 1


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186524</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 12:33:58 -0800</bug_when>
    <thetext>*** Bug 34443 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186527</commentid>
    <comment_count>5</comment_count>
      <attachid>47863</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 12:40:09 -0800</bug_when>
    <thetext>Comment on attachment 47863
Patch v1

sorry, forgot to fill out changelogs (and will fix the style-check issue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186528</commentid>
    <comment_count>6</comment_count>
      <attachid>47865</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 12:42:56 -0800</bug_when>
    <thetext>Created attachment 47865
v2 - Fill out changelogs and fix style failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186665</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-01 16:13:52 -0800</bug_when>
    <thetext>Attachment 47865 was posted by a committer and has review+, assigning to Brady Eidson for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186685</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-02-01 16:32:23 -0800</bug_when>
    <thetext>Yup, landed earlier in http://trac.webkit.org/changeset/54145</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47863</attachid>
            <date>2010-02-01 12:30:39 -0800</date>
            <delta_ts>2010-02-01 12:42:56 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patchv1.txt</filename>
            <type>text/plain</type>
            <size>13700</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDE0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5l
ZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgVGVz
dDogZmFzdC9sb2FkZXIvY3Jhc2gtY29weWluZy1iYWNrZm9yd2FyZGxpc3QuaHRtbAorCisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkSXRlbSk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OmdvVG9JdGVtKToKKwogMjAxMC0wMi0wMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIu
CkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA1NDE0MCkKKysrIFdlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgxOCw3ICszODE4LDkg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZEl0ZW0oSGlzdG9yeUl0ZW0qIAogICAgIC8vIC0gVGhl
IEhpc3RvcnlJdGVtIGhhcyBhIGhpc3Rvcnkgc3RhdGUgb2JqZWN0CiAgICAgLy8gLSBOYXZpZ2F0
aW5nIHRvIGFuIGFuY2hvciB3aXRoaW4gdGhlIHBhZ2UsIHdpdGggbm8gZm9ybSBkYXRhIHN0b3Jl
ZCBvbiB0aGUgdGFyZ2V0IGl0ZW0gb3IgdGhlIGN1cnJlbnQgaGlzdG9yeSBlbnRyeSwKICAgICAv
LyAgIGFuZCB0aGUgVVJMcyBpbiB0aGUgZnJhbWUgdHJlZSBtYXRjaCB0aGUgaGlzdG9yeSBpdGVt
IGZvciBmcmFnbWVudCBzY3JvbGxpbmcuCi0gICAgYm9vbCBzYW1lRG9jdW1lbnROYXZpZ2F0aW9u
ID0gKCFpdGVtLT5mb3JtRGF0YSgpICYmICEoaGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpICYmIGhp
c3RvcnkoKS0+Y3VycmVudEl0ZW0oKS0+Zm9ybURhdGEoKSkgJiYgaGlzdG9yeSgpLT51cmxzTWF0
Y2hJdGVtKGl0ZW0pKSB8fCBpdGVtLT5kb2N1bWVudFNlcXVlbmNlTnVtYmVyKCkgPT0gaGlzdG9y
eSgpLT5jdXJyZW50SXRlbSgpLT5kb2N1bWVudFNlcXVlbmNlTnVtYmVyKCk7CisgICAgSGlzdG9y
eUl0ZW0qIGN1cnJlbnRJdGVtID0gaGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpOworICAgIGJvb2wg
c2FtZURvY3VtZW50TmF2aWdhdGlvbiA9ICghaXRlbS0+Zm9ybURhdGEoKSAmJiAhKGN1cnJlbnRJ
dGVtICYmIGN1cnJlbnRJdGVtLT5mb3JtRGF0YSgpKSAmJiBoaXN0b3J5KCktPnVybHNNYXRjaEl0
ZW0oaXRlbSkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGN1cnJlbnRJ
dGVtICYmIGl0ZW0tPmRvY3VtZW50U2VxdWVuY2VOdW1iZXIoKSA9PSBjdXJyZW50SXRlbS0+ZG9j
dW1lbnRTZXF1ZW5jZU51bWJlcigpKTsKIAogI2lmIEVOQUJMRShXTUwpCiAgICAgLy8gQWxsIFdN
TCBkZWNrcyBzaG91bGQgZ28gdGhyb3VnaCB0aGUgcmVhbCBsb2FkIG1lY2hhbmlzbSwgbm90IHRo
ZSBzY3JvbGwtdG8tYW5jaG9yIGNvZGUKSW5kZXg6IFdlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDU0MTQwKQorKysgV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTAsNyArMjkwLDggQEAgdm9p
ZCBQYWdlOjpnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNlKQogdm9pZCBQYWdlOjpnb1RvSXRl
bShIaXN0b3J5SXRlbSogaXRlbSwgRnJhbWVMb2FkVHlwZSB0eXBlKQogewogICAgIC8vIEFib3J0
IGFueSBjdXJyZW50IGxvYWQgdW5sZXNzIHdlJ3JlIG5hdmlnYXRpbmcgdGhlIGN1cnJlbnQgZG9j
dW1lbnQgdG8gYSBuZXcgc3RhdGUgb2JqZWN0Ci0gICAgaWYgKCFpdGVtLT5zdGF0ZU9iamVjdCgp
IHx8IGl0ZW0tPmRvY3VtZW50U2VxdWVuY2VOdW1iZXIoKSAhPSBtX21haW5GcmFtZS0+bG9hZGVy
KCktPmhpc3RvcnkoKS0+Y3VycmVudEl0ZW0oKS0+ZG9jdW1lbnRTZXF1ZW5jZU51bWJlcigpKSB7
CisgICAgSGlzdG9yeUl0ZW0qIGN1cnJlbnRJdGVtID0gbV9tYWluRnJhbWUtPmxvYWRlcigpLT5o
aXN0b3J5KCktPmN1cnJlbnRJdGVtKCk7CisgICAgaWYgKCFpdGVtLT5zdGF0ZU9iamVjdCgpIHx8
ICFjdXJyZW50SXRlbSB8fCBpdGVtLT5kb2N1bWVudFNlcXVlbmNlTnVtYmVyKCkgIT0gY3VycmVu
dEl0ZW0tPmRvY3VtZW50U2VxdWVuY2VOdW1iZXIoKSkgewogICAgICAgICAvLyBEZWZpbmUgd2hh
dCB0byBkbyB3aXRoIGFueSBvcGVuIGRhdGFiYXNlIGNvbm5lY3Rpb25zLiBCeSBkZWZhdWx0IHdl
IHN0b3AgdGhlbSBhbmQgdGVybWluYXRlIHRoZSBkYXRhYmFzZSB0aHJlYWQuCiAgICAgICAgIERh
dGFiYXNlUG9saWN5IGRhdGFiYXNlUG9saWN5ID0gRGF0YWJhc2VQb2xpY3lTdG9wOwogCkluZGV4
OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA1NDE0MikKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTAyLTAxICBCcmFkeSBFaWRzb24gIDxiZWlkc29u
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKHNl
dE5ld1dpbmRvd3NDb3B5QmFja0ZvcndhcmRMaXN0Q2FsbGJhY2spOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpuZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0TmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3QpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tOgorICAgICAgICAoLVtVSURlbGVnYXRlIHdl
YlZpZXc6Y3JlYXRlV2ViVmlld1dpdGhSZXF1ZXN0Ol0pOgorCiAyMDEwLTAyLTAxICBDYXJvbCBT
emFibyAgPGNhcm9sLnN6YWJvQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLgpJbmRl
eDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcAkocmV2aXNpb24gNTQxNDApCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbAogICAgICwgbV9jYWxsQ2xv
c2VPbldlYlZpZXdzKHRydWUpCiAgICAgLCBtX2Nhbk9wZW5XaW5kb3dzKGZhbHNlKQogICAgICwg
bV9jbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSkKKyAgICAsIG1fbmV3V2lu
ZG93c0NvcHlCYWNrRm9yd2FyZExpc3QoZmFsc2UpCiAgICAgLCBtX3N0b3BQcm92aXNpb25hbEZy
YW1lTG9hZHMoZmFsc2UpCiAgICAgLCBtX3Rlc3RPbnNjcmVlbihmYWxzZSkKICAgICAsIG1fdGVz
dFJlcGFpbnQoZmFsc2UpCkBAIC03NDMsNiArNzQ0LDE4IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNl
dE1vY2tHZW9sb2NhdGlvbkVycm8KICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29u
dGV4dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVmIHNldE5ld1dpbmRvd3NDb3B5QmFja0Zvcndh
cmRMaXN0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9u
LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNW
YWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIC8vIEhh
cyBtYWMgaW1wbGVtZW50YXRpb24KKyAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCisgICAgICAg
IHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICAKKyAgICBMYXlvdXRU
ZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9s
bGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKKyAgICBjb250cm9sbGVyLT5z
ZXROZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlzdChKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQs
IGFyZ3VtZW50c1swXSkpOworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb25DYWxs
YmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFy
Z3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgLy8gSGFzIG1hYyBpbXBs
ZW1lbnRhdGlvbgpAQCAtMTMyNCw2ICsxMzM3LDcgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0
VGVzdENvbnRyb2xsZXI6OgogICAgICAgICB7ICJzZXRNYWluRnJhbWVJc0ZpcnN0UmVzcG9uZGVy
Iiwgc2V0TWFpbkZyYW1lSXNGaXJzdFJlc3BvbmRlckNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uIiwgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRp
b25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRNb2NrR2VvbG9jYXRpb25FcnJvciIs
IHNldE1vY2tHZW9sb2NhdGlvbkVycm9yQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAic2V0
TmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3QiLCBzZXROZXdXaW5kb3dzQ29weUJhY2tGb3J3
YXJkTGlzdENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFBlcnNpc3RlbnRVc2VyU3R5
bGVTaGVldExvY2F0aW9uIiwgc2V0UGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb25DYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRQb3B1cEJsb2NraW5nRW5hYmxlZCIsIHNldFBv
cHVwQmxvY2tpbmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCIsIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRDYWxsYmFjaywga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCShyZXZpc2lvbiA1NDE0MCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDI4ICs2Niwy
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBxdWV1ZVJlbG9hZCgpOwogICAgIHZvaWQgcmVtb3ZlQWxs
VmlzaXRlZExpbmtzKCk7CiAgICAgdm9pZCBzZXRBY2NlcHRzRWRpdGluZyhib29sIGFjY2VwdHNF
ZGl0aW5nKTsKLSAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBs
b25nIHF1b3RhKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
KGJvb2wpOworICAgIHZvaWQgc2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZSh1bnNpZ25lZCBsb25nIGxv
bmcgcXVvdGEpOwogICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoYm9vbCk7
CiAgICAgdm9pZCBzZXRDYWNoZU1vZGVsKGludCk7CiAgICAgdm9pZCBzZXRDdXN0b21Qb2xpY3lE
ZWxlZ2F0ZShib29sIHNldERlbGVnYXRlLCBib29sIHBlcm1pc3NpdmUpOwogICAgIHZvaWQgc2V0
RGF0YWJhc2VRdW90YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpOwogICAgIHZvaWQgc2V0RG9t
YWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29sIGZvcmJpZGRlbiwgSlNTdHJp
bmdSZWYgc2NoZW1lKTsKLSAgICB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJs
ZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5KTsKLSAgICB2b2lk
IHNldE1vY2tHZW9sb2NhdGlvbkVycm9yKGludCBjb2RlLCBKU1N0cmluZ1JlZiBtZXNzYWdlKTsK
ICAgICB2b2lkIHNldEljb25EYXRhYmFzZUVuYWJsZWQoYm9vbCBpY29uRGF0YWJhc2VFbmFibGVk
KTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgcHJvZmlsaW5n
RW5hYmxlZCk7CiAgICAgdm9pZCBzZXRNYWluRnJhbWVJc0ZpcnN0UmVzcG9uZGVyKGJvb2wgZmxh
Zyk7CisgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihpbnQgY29kZSwgSlNTdHJpbmdS
ZWYgbWVzc2FnZSk7CisgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUg
bGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSk7CiAgICAgdm9pZCBz
ZXRQZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsKICAg
ICB2b2lkIHNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wgZmxhZyk7Ci0gICAgdm9pZCBzZXRYU1NBdWRpdG9y
RW5hYmxlZChib29sIGZsYWcpOwogICAgIHZvaWQgc2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNl
RW5hYmxlZChib29sIGZsYWcpOwogICAgIHZvaWQgc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVk
KGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9v
bCBjeWNsZXMpOwogICAgIHZvaWQgc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUoYm9v
bCBmbGFnKTsKICAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChib29sIGZsYWcpOwog
ICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsKKyAg
ICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxhZyk7CisKICAgICB2b2lkIHdhaXRG
b3JQb2xpY3lEZWxlZ2F0ZSgpOwogICAgIHNpemVfdCB3ZWJIaXN0b3J5SXRlbUNvdW50KCk7CiAg
ICAgdW5zaWduZWQgd29ya2VyVGhyZWFkQ291bnQoKSBjb25zdDsKQEAgLTE2MSw2ICsxNjIsOSBA
QCBwdWJsaWM6CiAgICAgYm9vbCBjbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoKSBj
b25zdCB7IHJldHVybiBtX2Nsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZTsgfQogICAg
IHZvaWQgc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKGJvb2wgY2xvc2VSZW1h
aW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKSB7IG1fY2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNv
bXBsZXRlID0gY2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlOyB9CiAgICAgCisgICAg
Ym9vbCBuZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fbmV3
V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3Q7IH0KKyAgICB2b2lkIHNldE5ld1dpbmRvd3NDb3B5
QmFja0ZvcndhcmRMaXN0KGJvb2wgbmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3QpIHsgbV9u
ZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlzdCA9IG5ld1dpbmRvd3NDb3B5QmFja0ZvcndhcmRM
aXN0OyB9CisgICAgCiAgICAgYm9vbCBzdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzKCkgY29uc3Qg
eyByZXR1cm4gbV9zdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzOyB9CiAgICAgdm9pZCBzZXRTdG9w
UHJvdmlzaW9uYWxGcmFtZUxvYWRzKGJvb2wgc3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcykgeyBt
X3N0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMgPSBzdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzOyB9
CiAKQEAgLTI0OCw2ICsyNTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jYWxsQ2xvc2VPbldl
YlZpZXdzOwogICAgIGJvb2wgbV9jYW5PcGVuV2luZG93czsKICAgICBib29sIG1fY2xvc2VSZW1h
aW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlOworICAgIGJvb2wgbV9uZXdXaW5kb3dzQ29weUJhY2tG
b3J3YXJkTGlzdDsKICAgICBib29sIG1fc3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkczsKICAgICBi
b29sIG1fdGVzdE9uc2NyZWVuOwogICAgIGJvb2wgbV90ZXN0UmVwYWludDsKSW5kZXg6IFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tCShyZXZpc2lvbiA1NDE0
MCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViU2VjdXJpdHlP
cmlnaW5Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaD4K
ICNpbXBvcnQgPFdlYktpdC9XZWJWaWV3Lmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViVmlld1ByaXZh
dGUuaD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIER1bXBSZW5kZXJUcmVlRHJhZ2dp
bmdJbmZvICpkcmFnZ2luZ0luZm8gPSBuaWw7CkBAIC0xMjIsNiArMTIzLDkgQEAgRHVtcFJlbmRl
clRyZWVEcmFnZ2luZ0luZm8gKmRyYWdnaW5nSW5mbwogCiAgICAgV2ViVmlldyAqd2ViVmlldyA9
IGNyZWF0ZVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3coKTsKICAgICAKKyAgICBpZiAoZ0xheW91
dFRlc3RDb250cm9sbGVyLT5uZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlzdCgpKQorICAgICAg
ICBbd2ViVmlldyBfbG9hZEJhY2tGb3J3YXJkTGlzdEZyb21PdGhlclZpZXc6c2VuZGVyXTsKKyAg
ICAKICAgICByZXR1cm4gW3dlYlZpZXcgYXV0b3JlbGVhc2VdOwogfQogCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA1NDE0MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTAyLTAxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZWVk
IGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgICogZmFz
dC9sb2FkZXIvY3Jhc2gtY29weWluZy1iYWNrZm9yd2FyZGxpc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAy
MDEwLTAyLTAxICBCZW4gTXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2NyYXNo
LWNvcHlpbmctYmFja2ZvcndhcmRsaXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9jcmFzaC1jb3B5
aW5nLWJhY2tmb3J3YXJkbGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MyBAQAorVGhpcyB0ZXN0IG9ubHkgd29ya3MgaW4gRFJUIGJ5IHRpY2tsaW5nIHRoZSBbV2ViVmll
dyBfbG9hZEJhY2tGb3J3YXJkTGlzdEZyb21PdGhlclZpZXc6XSBtZXRob2QuCitJZiBpdCBkb2Vz
bid0IGNyYXNoLCB0aGVuIHRoZSB0ZXN0IHBhc3Nlcy4KKwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvY3Jhc2gtY29weWluZy1iYWNrZm9yd2FyZGxpc3QuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvY3Jhc2gtY29weWlu
Zy1iYWNrZm9yd2FyZGxpc3QuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNl
dENhbk9wZW5XaW5kb3dzKHRydWUpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldE5ld1dp
bmRvd3NDb3B5QmFja0ZvcndhcmRMaXN0KHRydWUpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0id2luZG93Lm9wZW4oJ2RhdGE6dGV4dC9odG1sLDxzY3JpcHQ+aWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOzwvc2NyaXB0PicpOyI+Cis8cHJlPgorVGhpcyB0ZXN0IG9ubHkgd29ya3MgaW4gRFJUIGJ5
IHRpY2tsaW5nIHRoZSBbV2ViVmlldyBfbG9hZEJhY2tGb3J3YXJkTGlzdEZyb21PdGhlclZpZXc6
XSBtZXRob2QuCitJZiBpdCBkb2Vzbid0IGNyYXNoLCB0aGVuIHRoZSB0ZXN0IHBhc3Nlcy4KKzwv
cHJlPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJl
dmlzaW9uIDU0MTQwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtp
bmcgY29weSkKQEAgLTU3ODUsMyArNTc4NSw3IEBAIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pZGRs
ZWNsaWNrLW5vcGFzdGUKIAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzQyNDYKIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZnJhbWVz
Lmh0bWwKKworIyBSZWxpZXMgb24gV2ViS2l0IEFQSSBbV2ViVmlldyBfbG9hZEJhY2tGb3J3YXJk
TGlzdEZyb21PdGhlclZpZXc6XQorZmFzdC9sb2FkZXIvY3Jhc2gtY29weWluZy1iYWNrZm9yd2Fy
ZGxpc3QuaHRtbAorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHJldmlzaW9uIDU0MTQw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAt
NTEwOSwzICs1MTA5LDYgQEAgaHR0cC90ZXN0cy9oaXN0b3J5L3JlZGlyZWN0LTMwNy5wbAogIyBz
bWFsbCBjYXBzIHZzLiBub3JtYWwgdGV4dAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzQyODYKIGNzczIuMS90MTUwNS1jNTI0LWZvbnQtdmFyLTAwLWIuaHRtbAor
CisjIFJlbGllcyBvbiBXZWJLaXQgQVBJIFtXZWJWaWV3IF9sb2FkQmFja0ZvcndhcmRMaXN0RnJv
bU90aGVyVmlldzpdCitmYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC5o
dG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24gNTQxNDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNzM5LDMg
KzczOSw3IEBAIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1nZW9sb2MKICMgTmVl
ZHMgdG8gcGFzcyBjb29raWVzIHRvIHRoZSBtZWRpYSBwbGF5ZXIKICMgU2VlIGh0dHA6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTU0CiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LWNvb2tpZS5odG1sCisKKyMgUmVsaWVzIG9uIFdlYktpdCBBUEkgW1dlYlZpZXcgX2xvYWRCYWNr
Rm9yd2FyZExpc3RGcm9tT3RoZXJWaWV3Ol0KK2Zhc3QvbG9hZGVyL2NyYXNoLWNvcHlpbmctYmFj
a2ZvcndhcmRsaXN0Lmh0bWwKKwo=
</data>
<flag name="review"
          id="30413"
          type_id="1"
          status="-"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="30414"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47865</attachid>
            <date>2010-02-01 12:42:56 -0800</date>
            <delta_ts>2010-02-01 12:44:16 -0800</delta_ts>
            <desc>v2 - Fill out changelogs and fix style failure</desc>
            <filename>patchv2.txt</filename>
            <type>text/plain</type>
            <size>14107</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDE0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENy
YXNoIGluIFNhZmFyaSBvcGVuaW5nIG5ldyB0YWJzIHRvICJzYW1lIHBhZ2UiCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NTkzODU3PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM0NDQ0CisKKyAgICAgICAgVGVzdDogZmFzdC9sb2FkZXIvY3Jhc2gtY29weWlu
Zy1iYWNrZm9yd2FyZGxpc3QuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkSXRlbSk6IE51bGwgY2hlY2sg
Y3VycmVudEl0ZW0oKS4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpnb1RvSXRlbSk6IERpdHRvLgorCiAyMDEwLTAyLTAxICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkg
SGF0Y2hlci4KSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDU0MTQyKQorKysg
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODE4LDcg
KzM4MTgsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkSXRlbShIaXN0b3J5SXRlbSogCiAgICAg
Ly8gLSBUaGUgSGlzdG9yeUl0ZW0gaGFzIGEgaGlzdG9yeSBzdGF0ZSBvYmplY3QKICAgICAvLyAt
IE5hdmlnYXRpbmcgdG8gYW4gYW5jaG9yIHdpdGhpbiB0aGUgcGFnZSwgd2l0aCBubyBmb3JtIGRh
dGEgc3RvcmVkIG9uIHRoZSB0YXJnZXQgaXRlbSBvciB0aGUgY3VycmVudCBoaXN0b3J5IGVudHJ5
LAogICAgIC8vICAgYW5kIHRoZSBVUkxzIGluIHRoZSBmcmFtZSB0cmVlIG1hdGNoIHRoZSBoaXN0
b3J5IGl0ZW0gZm9yIGZyYWdtZW50IHNjcm9sbGluZy4KLSAgICBib29sIHNhbWVEb2N1bWVudE5h
dmlnYXRpb24gPSAoIWl0ZW0tPmZvcm1EYXRhKCkgJiYgIShoaXN0b3J5KCktPmN1cnJlbnRJdGVt
KCkgJiYgaGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpLT5mb3JtRGF0YSgpKSAmJiBoaXN0b3J5KCkt
PnVybHNNYXRjaEl0ZW0oaXRlbSkpIHx8IGl0ZW0tPmRvY3VtZW50U2VxdWVuY2VOdW1iZXIoKSA9
PSBoaXN0b3J5KCktPmN1cnJlbnRJdGVtKCktPmRvY3VtZW50U2VxdWVuY2VOdW1iZXIoKTsKKyAg
ICBIaXN0b3J5SXRlbSogY3VycmVudEl0ZW0gPSBoaXN0b3J5KCktPmN1cnJlbnRJdGVtKCk7Cisg
ICAgYm9vbCBzYW1lRG9jdW1lbnROYXZpZ2F0aW9uID0gKCFpdGVtLT5mb3JtRGF0YSgpICYmICEo
Y3VycmVudEl0ZW0gJiYgY3VycmVudEl0ZW0tPmZvcm1EYXRhKCkpICYmIGhpc3RvcnkoKS0+dXJs
c01hdGNoSXRlbShpdGVtKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAo
Y3VycmVudEl0ZW0gJiYgaXRlbS0+ZG9jdW1lbnRTZXF1ZW5jZU51bWJlcigpID09IGN1cnJlbnRJ
dGVtLT5kb2N1bWVudFNlcXVlbmNlTnVtYmVyKCkpOwogCiAjaWYgRU5BQkxFKFdNTCkKICAgICAv
LyBBbGwgV01MIGRlY2tzIHNob3VsZCBnbyB0aHJvdWdoIHRoZSByZWFsIGxvYWQgbWVjaGFuaXNt
LCBub3QgdGhlIHNjcm9sbC10by1hbmNob3IgY29kZQpJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gNTQxNDIp
CisrKyBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5MCw3ICsyOTAs
OCBAQCB2b2lkIFBhZ2U6OmdvQmFja09yRm9yd2FyZChpbnQgZGlzdGFuY2UpCiB2b2lkIFBhZ2U6
OmdvVG9JdGVtKEhpc3RvcnlJdGVtKiBpdGVtLCBGcmFtZUxvYWRUeXBlIHR5cGUpCiB7CiAgICAg
Ly8gQWJvcnQgYW55IGN1cnJlbnQgbG9hZCB1bmxlc3Mgd2UncmUgbmF2aWdhdGluZyB0aGUgY3Vy
cmVudCBkb2N1bWVudCB0byBhIG5ldyBzdGF0ZSBvYmplY3QKLSAgICBpZiAoIWl0ZW0tPnN0YXRl
T2JqZWN0KCkgfHwgaXRlbS0+ZG9jdW1lbnRTZXF1ZW5jZU51bWJlcigpICE9IG1fbWFpbkZyYW1l
LT5sb2FkZXIoKS0+aGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpLT5kb2N1bWVudFNlcXVlbmNlTnVt
YmVyKCkpIHsKKyAgICBIaXN0b3J5SXRlbSogY3VycmVudEl0ZW0gPSBtX21haW5GcmFtZS0+bG9h
ZGVyKCktPmhpc3RvcnkoKS0+Y3VycmVudEl0ZW0oKTsKKyAgICBpZiAoIWl0ZW0tPnN0YXRlT2Jq
ZWN0KCkgfHwgIWN1cnJlbnRJdGVtIHx8IGl0ZW0tPmRvY3VtZW50U2VxdWVuY2VOdW1iZXIoKSAh
PSBjdXJyZW50SXRlbS0+ZG9jdW1lbnRTZXF1ZW5jZU51bWJlcigpKSB7CiAgICAgICAgIC8vIERl
ZmluZSB3aGF0IHRvIGRvIHdpdGggYW55IG9wZW4gZGF0YWJhc2UgY29ubmVjdGlvbnMuIEJ5IGRl
ZmF1bHQgd2Ugc3RvcCB0aGVtIGFuZCB0ZXJtaW5hdGUgdGhlIGRhdGFiYXNlIHRocmVhZC4KICAg
ICAgICAgRGF0YWJhc2VQb2xpY3kgZGF0YWJhc2VQb2xpY3kgPSBEYXRhYmFzZVBvbGljeVN0b3A7
CiAKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0MTQyKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDItMDEgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENyYXNoIGluIFNhZmFyaSBvcGVuaW5nIG5ldyB0YWJzIHRvICJzYW1lIHBh
Z2UiCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTkzODU3PiBhbmQgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0NDQ0CisKKyAgICAgICAgQWRkIGEgbW9kZSAoTWFj
LW9ubHkgZm9yIG5vdykgdGhhdCBleGVyY2lzZXMgdGhlIFdlYlZpZXcgU1BJIF9sb2FkQmFja0Zv
cndhcmRMaXN0RnJvbU90aGVyVmlldzoKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpMYXlv
dXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChzZXROZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJk
TGlzdENhbGxiYWNrKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5j
dGlvbnMpOgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpuZXdXaW5kb3dzQ29weUJhY2tGb3J3
YXJkTGlzdCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TmV3V2luZG93c0Nv
cHlCYWNrRm9yd2FyZExpc3QpOgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1VJRGVs
ZWdhdGUubW06CisgICAgICAgICgtW1VJRGVsZWdhdGUgd2ViVmlldzpjcmVhdGVXZWJWaWV3V2l0
aFJlcXVlc3Q6XSk6CisKIDIwMTAtMDItMDEgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1NDE0
MikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
TGF5b3V0VGVzdENvbnRyb2xsCiAgICAgLCBtX2NhbGxDbG9zZU9uV2ViVmlld3ModHJ1ZSkKICAg
ICAsIG1fY2FuT3BlbldpbmRvd3MoZmFsc2UpCiAgICAgLCBtX2Nsb3NlUmVtYWluaW5nV2luZG93
c1doZW5Db21wbGV0ZSh0cnVlKQorICAgICwgbV9uZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlz
dChmYWxzZSkKICAgICAsIG1fc3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyhmYWxzZSkKICAgICAs
IG1fdGVzdE9uc2NyZWVuKGZhbHNlKQogICAgICwgbV90ZXN0UmVwYWludChmYWxzZSkKQEAgLTc0
Myw2ICs3NDQsMTggQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0TW9ja0dlb2xvY2F0aW9uRXJybwog
ICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKIH0KIAorc3RhdGljIEpT
VmFsdWVSZWYgc2V0TmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3RDYWxsYmFjayhKU0NvbnRl
eHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgLy8gSGFzIG1hYyBpbXBsZW1lbnRhdGlvbgor
ICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5k
ZWZpbmVkKGNvbnRleHQpOworICAgIAorICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9s
bGVyID0gc3RhdGljX2Nhc3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZh
dGUodGhpc09iamVjdCkpOworICAgIGNvbnRyb2xsZXItPnNldE5ld1dpbmRvd3NDb3B5QmFja0Zv
cndhcmRMaXN0KEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7CisKKyAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKIHN0YXRpYyBKU1Zh
bHVlUmVmIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbikKIHsKICAgICAvLyBIYXMgbWFjIGltcGxlbWVudGF0aW9uCkBAIC0xMzI0LDYg
KzEzMzcsNyBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6CiAgICAg
ICAgIHsgInNldE1haW5GcmFtZUlzRmlyc3RSZXNwb25kZXIiLCBzZXRNYWluRnJhbWVJc0ZpcnN0
UmVzcG9uZGVyQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0TW9ja0dlb2xvY2F0aW9u
UG9zaXRpb24iLCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAg
ICAgICAgIHsgInNldE1vY2tHZW9sb2NhdGlvbkVycm9yIiwgc2V0TW9ja0dlb2xvY2F0aW9uRXJy
b3JDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJzZXROZXdXaW5kb3dzQ29weUJhY2tGb3J3
YXJkTGlzdCIsIHNldE5ld1dpbmRvd3NDb3B5QmFja0ZvcndhcmRMaXN0Q2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAic2V0UGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24iLCBzZXRQ
ZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldFBvcHVwQmxvY2tpbmdFbmFibGVkIiwgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWRDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCkluZGV4OiBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHJldmlzaW9u
IDU0MTQyKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsMjggKzY2LDI5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHF1ZXVlUmVsb2FkKCk7CiAgICAgdm9pZCByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKICAgICB2
b2lkIHNldEFjY2VwdHNFZGl0aW5nKGJvb2wgYWNjZXB0c0VkaXRpbmcpOwotICAgIHZvaWQgc2V0
QXBwQ2FjaGVNYXhpbXVtU2l6ZSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpOwogICAgIHZvaWQg
c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCk7CisgICAgdm9pZCBzZXRB
cHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CiAgICAgdm9pZCBz
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldENhY2hlTW9k
ZWwoaW50KTsKICAgICB2b2lkIHNldEN1c3RvbVBvbGljeURlbGVnYXRlKGJvb2wgc2V0RGVsZWdh
dGUsIGJvb2wgcGVybWlzc2l2ZSk7CiAgICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhKHVuc2lnbmVk
IGxvbmcgbG9uZyBxdW90YSk7CiAgICAgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVu
Rm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBKU1N0cmluZ1JlZiBzY2hlbWUpOwotICAgIHZv
aWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9u
Z2l0dWRlLCBkb3VibGUgYWNjdXJhY3kpOwotICAgIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uRXJy
b3IoaW50IGNvZGUsIEpTU3RyaW5nUmVmIG1lc3NhZ2UpOwogICAgIHZvaWQgc2V0SWNvbkRhdGFi
YXNlRW5hYmxlZChib29sIGljb25EYXRhYmFzZUVuYWJsZWQpOwogICAgIHZvaWQgc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBwcm9maWxpbmdFbmFibGVkKTsKICAgICB2b2lkIHNl
dE1haW5GcmFtZUlzRmlyc3RSZXNwb25kZXIoYm9vbCBmbGFnKTsKKyAgICB2b2lkIHNldE1vY2tH
ZW9sb2NhdGlvbkVycm9yKGludCBjb2RlLCBKU1N0cmluZ1JlZiBtZXNzYWdlKTsKKyAgICB2b2lk
IHNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdp
dHVkZSwgZG91YmxlIGFjY3VyYWN5KTsKICAgICB2b2lkIHNldFBlcnNpc3RlbnRVc2VyU3R5bGVT
aGVldExvY2F0aW9uKEpTU3RyaW5nUmVmIHBhdGgpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2lu
Z0VuYWJsZWQoYm9vbCBmbGFnKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
Ym9vbCBmbGFnKTsKLSAgICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxhZyk7CiAg
ICAgdm9pZCBzZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGJvb2wgZmxhZyk7CiAg
ICAgdm9pZCBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoYm9vbCBmbGFnKTsKICAgICB2b2lk
IHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sIGN5Y2xlcyk7CiAgICAgdm9pZCBz
ZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZShib29sIGZsYWcpOwogICAgIHZvaWQgc2V0
VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRVc2VyU3R5bGVT
aGVldExvY2F0aW9uKEpTU3RyaW5nUmVmIHBhdGgpOworICAgIHZvaWQgc2V0WFNTQXVkaXRvckVu
YWJsZWQoYm9vbCBmbGFnKTsKKwogICAgIHZvaWQgd2FpdEZvclBvbGljeURlbGVnYXRlKCk7CiAg
ICAgc2l6ZV90IHdlYkhpc3RvcnlJdGVtQ291bnQoKTsKICAgICB1bnNpZ25lZCB3b3JrZXJUaHJl
YWRDb3VudCgpIGNvbnN0OwpAQCAtMTYxLDYgKzE2Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGNs
b3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xvc2VS
ZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlOyB9CiAgICAgdm9pZCBzZXRDbG9zZVJlbWFpbmlu
Z1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbCBjbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxl
dGUpIHsgbV9jbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUgPSBjbG9zZVJlbWFpbmlu
Z1dpbmRvd3NXaGVuQ29tcGxldGU7IH0KICAgICAKKyAgICBib29sIG5ld1dpbmRvd3NDb3B5QmFj
a0ZvcndhcmRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9uZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJk
TGlzdDsgfQorICAgIHZvaWQgc2V0TmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3QoYm9vbCBu
ZXdXaW5kb3dzQ29weUJhY2tGb3J3YXJkTGlzdCkgeyBtX25ld1dpbmRvd3NDb3B5QmFja0Zvcndh
cmRMaXN0ID0gbmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3Q7IH0KKyAgICAKICAgICBib29s
IHN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMoKSBjb25zdCB7IHJldHVybiBtX3N0b3BQcm92aXNp
b25hbEZyYW1lTG9hZHM7IH0KICAgICB2b2lkIHNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMo
Ym9vbCBzdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzKSB7IG1fc3RvcFByb3Zpc2lvbmFsRnJhbWVM
b2FkcyA9IHN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHM7IH0KIApAQCAtMjQ4LDYgKzI1Miw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2NhbGxDbG9zZU9uV2ViVmlld3M7CiAgICAgYm9vbCBtX2Nh
bk9wZW5XaW5kb3dzOwogICAgIGJvb2wgbV9jbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxl
dGU7CisgICAgYm9vbCBtX25ld1dpbmRvd3NDb3B5QmFja0ZvcndhcmRMaXN0OwogICAgIGJvb2wg
bV9zdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzOwogICAgIGJvb2wgbV90ZXN0T25zY3JlZW47CiAg
ICAgYm9vbCBtX3Rlc3RSZXBhaW50OwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL1VJRGVsZWdhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL1VJRGVsZWdhdGUubW0JKHJldmlzaW9uIDU0MTQyKQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4
LDcgQEAKICNpbXBvcnQgPFdlYktpdC9XZWJTZWN1cml0eU9yaWdpblByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYktpdC9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYlZp
ZXcuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL0Fz
c2VydGlvbnMuaD4KIAogRHVtcFJlbmRlclRyZWVEcmFnZ2luZ0luZm8gKmRyYWdnaW5nSW5mbyA9
IG5pbDsKQEAgLTEyMiw2ICsxMjMsOSBAQCBEdW1wUmVuZGVyVHJlZURyYWdnaW5nSW5mbyAqZHJh
Z2dpbmdJbmZvCiAKICAgICBXZWJWaWV3ICp3ZWJWaWV3ID0gY3JlYXRlV2ViVmlld0FuZE9mZnNj
cmVlbldpbmRvdygpOwogICAgIAorICAgIGlmIChnTGF5b3V0VGVzdENvbnRyb2xsZXItPm5ld1dp
bmRvd3NDb3B5QmFja0ZvcndhcmRMaXN0KCkpCisgICAgICAgIFt3ZWJWaWV3IF9sb2FkQmFja0Zv
cndhcmRMaXN0RnJvbU90aGVyVmlldzpzZW5kZXJdOworICAgIAogICAgIHJldHVybiBbd2ViVmll
dyBhdXRvcmVsZWFzZV07CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0MTQyKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDIt
MDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyYXNoIGluIFNhZmFyaSBvcGVuaW5nIG5l
dyB0YWJzIHRvICJzYW1lIHBhZ2UiCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTkzODU3PiBh
bmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0NDQ0CisKKyAgICAg
ICAgKiBmYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2NyYXNoLWNvcHlpbmctYmFja2Zvcndh
cmRsaXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBw
ZWQ6CisKIDIwMTAtMDItMDEgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvY3Jhc2gtY29weWluZy1iYWNrZm9yd2FyZGxpc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2NyYXNoLWNvcHlpbmctYmFja2ZvcndhcmRsaXN0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Ny
YXNoLWNvcHlpbmctYmFja2ZvcndhcmRsaXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzIEBACitUaGlzIHRlc3Qgb25seSB3b3JrcyBpbiBEUlQgYnkgdGlja2xpbmcgdGhl
IFtXZWJWaWV3IF9sb2FkQmFja0ZvcndhcmRMaXN0RnJvbU90aGVyVmlldzpdIG1ldGhvZC4KK0lm
IGl0IGRvZXNuJ3QgY3Jhc2gsIHRoZW4gdGhlIHRlc3QgcGFzc2VzLgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2NyYXNoLWNvcHlpbmctYmFja2Zvcndh
cmRsaXN0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9jcmFz
aC1jb3B5aW5nLWJhY2tmb3J3YXJkbGlzdC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIw
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0TmV3V2luZG93c0NvcHlCYWNrRm9yd2FyZExpc3QodHJ1ZSk7Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ3aW5kb3cub3BlbignZGF0YTp0ZXh0L2h0bWwsPHNjcmlw
dD5pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7PC9zY3JpcHQ+Jyk7Ij4KKzxwcmU+CitUaGlzIHRlc3Qgb25seSB3b3JrcyBp
biBEUlQgYnkgdGlja2xpbmcgdGhlIFtXZWJWaWV3IF9sb2FkQmFja0ZvcndhcmRMaXN0RnJvbU90
aGVyVmlldzpdIG1ldGhvZC4KK0lmIGl0IGRvZXNuJ3QgY3Jhc2gsIHRoZW4gdGhlIHRlc3QgcGFz
c2VzLgorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZAkocmV2aXNpb24gNTQxNDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZAkod29ya2luZyBjb3B5KQpAQCAtNTc4NSwzICs1Nzg1LDcgQEAgc2Nyb2xsYmFycy9zY3JvbGxi
YXItbWlkZGxlY2xpY2stbm9wYXN0ZQogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNDI0NgogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9u
ZS1mcmFtZXMuaHRtbAorCisjIFJlbGllcyBvbiBXZWJLaXQgQVBJIFtXZWJWaWV3IF9sb2FkQmFj
a0ZvcndhcmRMaXN0RnJvbU90aGVyVmlldzpdCitmYXN0L2xvYWRlci9jcmFzaC1jb3B5aW5nLWJh
Y2tmb3J3YXJkbGlzdC5odG1sCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBw
ZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNp
b24gNTQxNDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNv
cHkpCkBAIC01MTA5LDMgKzUxMDksNiBAQCBodHRwL3Rlc3RzL2hpc3RvcnkvcmVkaXJlY3QtMzA3
LnBsCiAjIHNtYWxsIGNhcHMgdnMuIG5vcm1hbCB0ZXh0CiAjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDI4NgogY3NzMi4xL3QxNTA1LWM1MjQtZm9udC12YXItMDAt
Yi5odG1sCisKKyMgUmVsaWVzIG9uIFdlYktpdCBBUEkgW1dlYlZpZXcgX2xvYWRCYWNrRm9yd2Fy
ZExpc3RGcm9tT3RoZXJWaWV3Ol0KK2Zhc3QvbG9hZGVyL2NyYXNoLWNvcHlpbmctYmFja2Zvcndh
cmRsaXN0Lmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA1NDE0
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBA
IC03MzksMyArNzM5LDcgQEAgZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWdlb2xv
YwogIyBOZWVkcyB0byBwYXNzIGNvb2tpZXMgdG8gdGhlIG1lZGlhIHBsYXllcgogIyBTZWUgaHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM5NTQKIGh0dHAvdGVzdHMvbWVk
aWEvdmlkZW8tY29va2llLmh0bWwKKworIyBSZWxpZXMgb24gV2ViS2l0IEFQSSBbV2ViVmlldyBf
bG9hZEJhY2tGb3J3YXJkTGlzdEZyb21PdGhlclZpZXc6XQorZmFzdC9sb2FkZXIvY3Jhc2gtY29w
eWluZy1iYWNrZm9yd2FyZGxpc3QuaHRtbAorCg==
</data>
<flag name="review"
          id="30416"
          type_id="1"
          status="+"
          setter="adele"
    />
    <flag name="commit-queue"
          id="30417"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>