rusteerio 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/CONTRIBUTING.md +73 -0
  2. package/Cargo.lock +1051 -0
  3. package/Cargo.toml +36 -0
  4. package/LICENSE +21 -0
  5. package/README.md +252 -2
  6. package/RELEASING.md +138 -0
  7. package/THIRD_PARTY_NOTICES.md +7443 -0
  8. package/build.rs +3 -0
  9. package/dist/chunk-DKULX6VO.mjs +3185 -0
  10. package/dist/chunk-DKULX6VO.mjs.map +1 -0
  11. package/dist/chunk-OHPGEY3E.mjs +32 -0
  12. package/dist/chunk-OHPGEY3E.mjs.map +1 -0
  13. package/dist/index.cjs +3230 -0
  14. package/dist/index.cjs.map +1 -0
  15. package/dist/index.d.mts +113 -0
  16. package/dist/index.d.ts +113 -0
  17. package/dist/index.mjs +38 -0
  18. package/dist/index.mjs.map +1 -0
  19. package/dist/slim.cjs +2441 -0
  20. package/dist/slim.cjs.map +1 -0
  21. package/dist/slim.d.mts +11 -0
  22. package/dist/slim.d.ts +11 -0
  23. package/dist/slim.mjs +19 -0
  24. package/dist/slim.mjs.map +1 -0
  25. package/dist/types-BP6TpxE5.d.mts +532 -0
  26. package/dist/types-BP6TpxE5.d.ts +532 -0
  27. package/dist/utils.cjs +61 -0
  28. package/dist/utils.cjs.map +1 -0
  29. package/dist/utils.d.mts +13 -0
  30. package/dist/utils.d.ts +13 -0
  31. package/dist/utils.mjs +17 -0
  32. package/dist/utils.mjs.map +1 -0
  33. package/native/src/arena.rs +1781 -0
  34. package/native/src/attributes.rs +923 -0
  35. package/native/src/codec.rs +172 -0
  36. package/native/src/diagnostics.rs +1249 -0
  37. package/native/src/extraction.rs +226 -0
  38. package/native/src/gc.rs +166 -0
  39. package/native/src/hook_sink.rs +727 -0
  40. package/native/src/hook_stream.rs +513 -0
  41. package/native/src/lib.rs +2095 -0
  42. package/native/src/location.rs +392 -0
  43. package/native/src/runtime.rs +189 -0
  44. package/native/src/selector.rs +1287 -0
  45. package/native/src/sink.rs +261 -0
  46. package/native/src/stream.rs +334 -0
  47. package/native/src/tokenizer.rs +355 -0
  48. package/native/src/tracker.rs +232 -0
  49. package/native/vendor/README.md +25 -0
  50. package/native/vendor/html5ever-0.35.0/.cargo_vcs_info.json +6 -0
  51. package/native/vendor/html5ever-0.35.0/Cargo.lock +828 -0
  52. package/native/vendor/html5ever-0.35.0/Cargo.toml +85 -0
  53. package/native/vendor/html5ever-0.35.0/LICENSE-APACHE +201 -0
  54. package/native/vendor/html5ever-0.35.0/LICENSE-MIT +25 -0
  55. package/native/vendor/html5ever-0.35.0/README.md +60 -0
  56. package/native/vendor/html5ever-0.35.0/benches/html5ever.rs +86 -0
  57. package/native/vendor/html5ever-0.35.0/data/bench/lipsum-zh.html +19 -0
  58. package/native/vendor/html5ever-0.35.0/data/bench/lipsum.html +40 -0
  59. package/native/vendor/html5ever-0.35.0/data/bench/medium-fragment.html +24 -0
  60. package/native/vendor/html5ever-0.35.0/data/bench/small-fragment.html +7 -0
  61. package/native/vendor/html5ever-0.35.0/data/bench/strong.html +1 -0
  62. package/native/vendor/html5ever-0.35.0/data/bench/tiny-fragment.html +1 -0
  63. package/native/vendor/html5ever-0.35.0/examples/arena.rs +356 -0
  64. package/native/vendor/html5ever-0.35.0/examples/capi/tokenize.c +74 -0
  65. package/native/vendor/html5ever-0.35.0/examples/noop-tokenize.rs +47 -0
  66. package/native/vendor/html5ever-0.35.0/examples/noop-tree-builder.rs +132 -0
  67. package/native/vendor/html5ever-0.35.0/examples/print-tree-actions.rs +185 -0
  68. package/native/vendor/html5ever-0.35.0/examples/tokenize.rs +111 -0
  69. package/native/vendor/html5ever-0.35.0/src/driver.rs +148 -0
  70. package/native/vendor/html5ever-0.35.0/src/lib.rs +30 -0
  71. package/native/vendor/html5ever-0.35.0/src/macros.rs +34 -0
  72. package/native/vendor/html5ever-0.35.0/src/serialize/mod.rs +255 -0
  73. package/native/vendor/html5ever-0.35.0/src/tokenizer/char_ref/mod.rs +451 -0
  74. package/native/vendor/html5ever-0.35.0/src/tokenizer/interface.rs +99 -0
  75. package/native/vendor/html5ever-0.35.0/src/tokenizer/mod.rs +2305 -0
  76. package/native/vendor/html5ever-0.35.0/src/tokenizer/states.rs +97 -0
  77. package/native/vendor/html5ever-0.35.0/src/tree_builder/data.rs +170 -0
  78. package/native/vendor/html5ever-0.35.0/src/tree_builder/mod.rs +1848 -0
  79. package/native/vendor/html5ever-0.35.0/src/tree_builder/rules.rs +1494 -0
  80. package/native/vendor/html5ever-0.35.0/src/tree_builder/tag_sets.rs +114 -0
  81. package/native/vendor/html5ever-0.35.0/src/tree_builder/types.rs +91 -0
  82. package/native/vendor/html5ever-0.35.0/src/util/str.rs +52 -0
  83. package/native/vendor/html5gum-0.8.4/Cargo.lock +1006 -0
  84. package/native/vendor/html5gum-0.8.4/Cargo.toml +109 -0
  85. package/native/vendor/html5gum-0.8.4/LICENSE +19 -0
  86. package/native/vendor/html5gum-0.8.4/README.md +110 -0
  87. package/native/vendor/html5gum-0.8.4/benches/files/0050.html +2131 -0
  88. package/native/vendor/html5gum-0.8.4/benches/files/6D30.html +1004 -0
  89. package/native/vendor/html5gum-0.8.4/benches/files.rs +32 -0
  90. package/native/vendor/html5gum-0.8.4/benches/patterns.rs +31 -0
  91. package/native/vendor/html5gum-0.8.4/src/arrayvec.rs +29 -0
  92. package/native/vendor/html5gum-0.8.4/src/char_validator.rs +134 -0
  93. package/native/vendor/html5gum-0.8.4/src/emitters/callback.rs +676 -0
  94. package/native/vendor/html5gum-0.8.4/src/emitters/default.rs +207 -0
  95. package/native/vendor/html5gum-0.8.4/src/emitters/emitter.rs +344 -0
  96. package/native/vendor/html5gum-0.8.4/src/emitters/html5ever.rs +306 -0
  97. package/native/vendor/html5gum-0.8.4/src/emitters/mod.rs +25 -0
  98. package/native/vendor/html5gum-0.8.4/src/entities.rs +3342 -0
  99. package/native/vendor/html5gum-0.8.4/src/error.rs +96 -0
  100. package/native/vendor/html5gum-0.8.4/src/htmlstring.rs +130 -0
  101. package/native/vendor/html5gum-0.8.4/src/lib.rs +66 -0
  102. package/native/vendor/html5gum-0.8.4/src/machine.rs +2136 -0
  103. package/native/vendor/html5gum-0.8.4/src/machine_helper.rs +277 -0
  104. package/native/vendor/html5gum-0.8.4/src/read_helper.rs +244 -0
  105. package/native/vendor/html5gum-0.8.4/src/reader.rs +440 -0
  106. package/native/vendor/html5gum-0.8.4/src/span.rs +98 -0
  107. package/native/vendor/html5gum-0.8.4/src/state.rs +16 -0
  108. package/native/vendor/html5gum-0.8.4/src/testutils.rs +71 -0
  109. package/native/vendor/html5gum-0.8.4/src/tokenizer.rs +189 -0
  110. package/native/vendor/html5gum-0.8.4/src/utils.rs +88 -0
  111. package/native/vendor/markup5ever-0.35.0/.cargo_vcs_info.json +6 -0
  112. package/native/vendor/markup5ever-0.35.0/Cargo.toml +45 -0
  113. package/native/vendor/markup5ever-0.35.0/LICENSE-APACHE +201 -0
  114. package/native/vendor/markup5ever-0.35.0/LICENSE-MIT +25 -0
  115. package/native/vendor/markup5ever-0.35.0/interface/mod.rs +422 -0
  116. package/native/vendor/markup5ever-0.35.0/interface/tree_builder.rs +280 -0
  117. package/native/vendor/markup5ever-0.35.0/lib.rs +59 -0
  118. package/native/vendor/markup5ever-0.35.0/serialize.rs +77 -0
  119. package/native/vendor/markup5ever-0.35.0/util/buffer_queue.rs +333 -0
  120. package/native/vendor/markup5ever-0.35.0/util/smallcharset.rs +88 -0
  121. package/package.json +137 -4
  122. package/rusteerio.darwin-arm64.node +0 -0
  123. package/rusteerio.darwin-x64.node +0 -0
  124. package/rusteerio.linux-arm64-gnu.node +0 -0
  125. package/rusteerio.linux-arm64-musl.node +0 -0
  126. package/rusteerio.linux-x64-gnu.node +0 -0
  127. package/rusteerio.linux-x64-musl.node +0 -0
  128. package/rusteerio.win32-arm64-msvc.node +0 -0
  129. package/rusteerio.win32-x64-msvc.node +0 -0
  130. package/scripts/check-native.mjs +15 -0
  131. package/scripts/check-release.mjs +235 -0
  132. package/scripts/fix-declarations.mjs +27 -0
  133. package/scripts/generate-notices.mjs +176 -0
  134. package/scripts/notices/README.md +13 -0
  135. package/scripts/notices/cheerio-MIT.txt +21 -0
  136. package/scripts/notices/html5ever-AUTHORS.txt +20 -0
  137. package/scripts/notices/html5ever-COPYRIGHT.txt +8 -0
  138. package/scripts/notices/html5ever-LICENSE-APACHE.txt +201 -0
  139. package/scripts/notices/html5ever-LICENSE-MIT.txt +25 -0
  140. package/scripts/notices/napi-rs-MIT.txt +43 -0
  141. package/scripts/notices/neon-MIT.txt +19 -0
  142. package/scripts/notices/runtime-01c266bced4a434da005.txt +3 -0
  143. package/scripts/notices/runtime-0a54e647fe54104658b5.txt +14 -0
  144. package/scripts/notices/runtime-0b74dfa0bcee5c420c6b.txt +25 -0
  145. package/scripts/notices/runtime-0d542e0c8804e39aa7f3.txt +177 -0
  146. package/scripts/notices/runtime-0f96a83840e146e43c0e.txt +21 -0
  147. package/scripts/notices/runtime-123a331b5dbf04c30097.txt +25 -0
  148. package/scripts/notices/runtime-172020dbfd5b53a226df.txt +34 -0
  149. package/scripts/notices/runtime-209fbbe0ad52d9235e37.txt +26 -0
  150. package/scripts/notices/runtime-23f18e03dc49df91622f.txt +23 -0
  151. package/scripts/notices/runtime-268872b9816f90fd8e85.txt +220 -0
  152. package/scripts/notices/runtime-35242e7a83f69875e6ed.txt +176 -0
  153. package/scripts/notices/runtime-378f5840b258e2779c39.txt +25 -0
  154. package/scripts/notices/runtime-4108245a1f2df9d4e94d.txt +25 -0
  155. package/scripts/notices/runtime-4455bf75a91154108304.txt +21 -0
  156. package/scripts/notices/runtime-553fffcd9b1cb158bc3e.txt +13 -0
  157. package/scripts/notices/runtime-62c7a1e35f56406896d7.txt +176 -0
  158. package/scripts/notices/runtime-6485b8ed310d3f0340bf.txt +25 -0
  159. package/scripts/notices/runtime-69fef7b0f322a6555415.txt +201 -0
  160. package/scripts/notices/runtime-6df43f6f4b5d4587f3d8.txt +187 -0
  161. package/scripts/notices/runtime-799e9ca9d179295ef372.txt +24 -0
  162. package/scripts/notices/runtime-7b63ecd5f1902af1b637.txt +25 -0
  163. package/scripts/notices/runtime-7bc7d5de2a0b793d4e1a.txt +21 -0
  164. package/scripts/notices/runtime-7e12e5df4bae12cb2158.txt +24 -0
  165. package/scripts/notices/runtime-861399f8c21c042b1105.txt +12 -0
  166. package/scripts/notices/runtime-8ada45cd9f843acf64e4.txt +201 -0
  167. package/scripts/notices/runtime-90eb64f0279b0d9432ac.txt +12 -0
  168. package/scripts/notices/runtime-a60eea817514531668d7.txt +201 -0
  169. package/scripts/notices/runtime-a7c936ff1ed8fa340172.txt +25 -0
  170. package/scripts/notices/runtime-ab6eec6caf0fa5775e41.txt +275 -0
  171. package/scripts/notices/runtime-b1181a40b2a7b25cf66f.txt +19 -0
  172. package/scripts/notices/runtime-b71bd43a069ca0641a9e.txt +25 -0
  173. package/scripts/notices/runtime-c16f8dcf1a368b83be78.txt +201 -0
  174. package/scripts/notices/runtime-c2cfccb812fe482101a8.txt +21 -0
  175. package/scripts/notices/runtime-e99d88d232bf57d70f0f.txt +25 -0
  176. package/scripts/notices/runtime-f32fb3b417a194167cfa.txt +9 -0
  177. package/scripts/notices/runtime-f5062c9a188d81dfe66b.txt +39 -0
  178. package/scripts/notices/runtime-f9070a832833fa7488fd.txt +4 -0
  179. package/scripts/notices/runtime-fab3dd6bdab226f1c086.txt +373 -0
  180. package/scripts/notices/runtime-fba3318d0c600380177e.txt +62 -0
  181. package/scripts/notices/runtime-ff8f68cb076caf8cefe7.txt +25 -0
  182. package/scripts/notices/runtime-ff92bed461f50338dd70.txt +74 -0
  183. package/scripts/notices/runtime.json +1632 -0
  184. package/scripts/notices/sources.json +555 -0
  185. package/scripts/notices/xray-MIT.txt +21 -0
  186. package/src/attributes.ts +271 -0
  187. package/src/codec.ts +74 -0
  188. package/src/dom.ts +87 -0
  189. package/src/extract-plan.ts +97 -0
  190. package/src/extract.ts +130 -0
  191. package/src/hooks.ts +220 -0
  192. package/src/index.ts +223 -0
  193. package/src/io.ts +491 -0
  194. package/src/native.ts +135 -0
  195. package/src/nodes.ts +290 -0
  196. package/src/parse.ts +53 -0
  197. package/src/parser-types.ts +157 -0
  198. package/src/router.ts +327 -0
  199. package/src/selection.ts +566 -0
  200. package/src/slim.ts +12 -0
  201. package/src/transport.ts +104 -0
  202. package/src/types.ts +186 -0
  203. package/src/utils.ts +29 -0
  204. package/src/workers.ts +21 -0
  205. package/tsconfig.json +15 -0
  206. package/tsup.config.ts +16 -0
@@ -0,0 +1,1004 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns:fb="http://www.facebook.com/2008/fbml">
3
+ <meta charset="iso-8859-1">
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
5
+
6
+ <script type="text/javascript">
7
+ (function(){
8
+ var a=navigator.userAgent,
9
+ b=window.location,
10
+ c=document.cookie;
11
+
12
+ if((a.match(/iP(od|hone)/i)||a.match(/Android/i)||a.match(/RIM Tablet/i)||a.match(/IEMobile/i))&&!b.href.match(/src=mobile/i)) {
13
+ if(c.indexOf("iphone_redirect=false")<0) {
14
+ b.href="http://m.espn.go.com/general/tennis/story?storyId=9340704&src=desktop";
15
+ } else if(a.match(/iPad/i)||a.match(/Android/i)||a.match(/RIM Tablet/i)) {
16
+ if (c.indexOf("iphone_redirect=true") > -1) {
17
+ b.href="http://m.espn.go.com/general/tennis/story?storyId=9340704&src=desktop";
18
+ }
19
+ document.documentElement.className+=" tablet "
20
+ }
21
+ }
22
+ })();
23
+ </script>
24
+ <title>French Open - Maria Sharapova, Jelena Jankovic ready to duel - ESPN</title>
25
+ <meta name="google-site-verification" content="xuj1ODRluWa0frM-BjIr_aSHoUC7HB5C1MgmYAM_GkA" />
26
+ <meta name="msvalidate.01" content="B1FEB7C682C46C8FCDA3130F3D18AC28" />
27
+ <meta name="googlebot" content="noodp" />
28
+ <meta name="robots" content="index, follow" />
29
+ <meta name="description" content="Maria Sharapova and Jelena Jankovic are very different players, but they have more in common than you." />
30
+ <meta name="keywords" content="maria sharapova, rafael nadal, jelena jankovic, sloane stephens, jamie hampton, serena williams, espnw, maria sharapova, jelena jankovic, french open, roland garros, tennis, greg garber" />
31
+ <meta name="news_keywords" content="maria sharapova, rafael nadal, jelena jankovic, sloane stephens, jamie hampton, serena williams, espnw, maria sharapova, jelena jankovic, french open, roland garros, tennis, greg garber" />
32
+ <meta name="syndication-source" content="http://espn.go.com/tennis/french13/story/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" />
33
+ <meta property="og:title" content="Garber: Sharapova, Jankovic ready to duel " />
34
+ <meta property="og:type" content="article" />
35
+ <meta property="og:url" content="http://espn.go.com/tennis/french13/story/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" />
36
+ <meta property="og:description" content="Maria Sharapova and Jelena Jankovic are very different players, but they have more in common than you." />
37
+ <meta property="og:image" content="http://a.espncdn.com/photo/2013/0604/ten_a_jankovic01jr_200.jpg" />
38
+ <meta property="og:site_name" content="ESPN.com">
39
+ <meta property="fb:app_id" content="116656161708917">
40
+ <link rel="canonical" href="http://espn.go.com/tennis/french13/story/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" />
41
+
42
+ <script>var _sf_startpt=(new Date()).getTime();</script>
43
+ <link rel="search" type="application/opensearchdescription+xml" href="http://a.espncdn.com/search/opensearch.xml" title="ESPN Search" />
44
+ <link rel="stylesheet" href="http://a.espncdn.com/combiner/c/201302251456?css=global_reset.r1.css,base.r236.css,modules.r455.css,global_header.r42.css,modules/global_nav.r53.css,modules/insider_enhanced.r1.css,modules/mem/mem.r9.css,modules/mem/mem_espn360.r6.css,modules/mem/skirmish.r6.css,modules/twin.r1.css,modules/facebook/button.r2.css,universal_overlay/universal_overlay.css,universal_overlay/media_overlay.css,universal_overlay/video_overlay.css,universal_overlay/photo_overlay.css,universal_overlay/dyk_overlay.css" type="text/css" media="screen" charset="utf-8" />
45
+ <link rel="stylesheet" href="http://a.espncdn.com/combiner/c/201303290924?css=sprites/teamlogos.r17.css" type="text/css" media="screen" charset="utf-8" />
46
+ <link rel="stylesheet" href="http://a.espncdn.com/combiner/c/20120509326?css=pagetype/tier3.r10.css" type="text/css" media="screen" charset="utf-8" />
47
+ <link rel="stylesheet" href="http://a.espncdn.com/prod/styles/tier3/tier3_tennis.css" type="text/css" media="screen" charset="utf-8" />
48
+ <link rel="stylesheet" href="http://a.espncdn.com/prod/styles/legacy.min.200811061403.css" type="text/css" media="screen" charset="utf-8" />
49
+ <link rel="stylesheet" href="http://a.espncdn.com/combiner/c?v=201108152006&css=modules/playerpopup.r1.css" type="text/css" media="screen" charset="utf-8" />
50
+ <link rel="stylesheet" href="http://a.espncdn.com/combiner/c?v=201108152006&css=modules/videoplayer12.r1.css" type="text/css" media="screen" charset="utf-8" />
51
+ <script src="http://a.espncdn.com/combiner/c?js=jquery-1.7.1.js,plugins/json2.r3.js,plugins/teacrypt.js,plugins/jquery.metadata.js,plugins/jquery.bgiframe.r3.js,plugins/jquery.easing.1.3.js,plugins/jquery.hoverIntent.js,plugins/jquery.jcarousel.js,plugins/jquery.tinysort.r4.js,plugins/jquery.pubsub.r5.js,ui/1.8.16/jquery.ui.core.js,ui/1.8.16/jquery.ui.widget.js,ui/1.8.16/jquery.ui.tabs.js,ui/1.8.16/jquery.ui.accordion.js,plugins/ba-debug-0.4.js,espn.l10n.r12.js,swfobject/2.2/swfobject.js,flashObjWrapper.r7.js,plugins/jquery.colorbox.1.3.14.js,plugins/jquery.ba-postmessage.js,espn.core.duo.r55.js,espn.mem.r37b.js,stub.search.r9.js,espn.nav.mega.r35.js,espn.storage.r6.js,espn.p13n.r16.js,espn.video.r77.js,registration/staticLogin.r10-28.js,espn.universal.overlay.r16.js,insider/espn.insider.201212131.js,espn.espn360.stub.r9.js,espn.myHeadlines.stub.r13.js,espn.myfaves.stub.r3.js,tsscoreboard.20090612.js,/foresee/v7/foresee-alive.js,ie9pinning.r3.js,espn.f8.r11.js,espn.socialmediamod.r6.js,playerpopup.r14.js"></script>
52
+ <script src="http://a.espncdn.com/prod/scripts/espn.loader.200901201835.js" type="text/javascript" charset="utf-8"></script>
53
+ <script type="text/javascript" charset="utf-8">
54
+ ESPN.include([
55
+ 'http://widgets.outbrain.com/outbrain.js'
56
+ ]);
57
+ </script>
58
+ <script>espn.core.navVersion = 'a';</script>
59
+ <script type="text/javascript" src="http://a.espncdn.com/prod/scripts/mbox.20.r2.js"></script>
60
+
61
+ <script language="javascript">
62
+ var ad_site = 'espn.us.com.tennis';
63
+ var ad_zone = 'french13';
64
+ var ad_kvps = 'pgtyp=story;sp=tennis;pl=399;pl=261;pl=312;pl=1472;pl=1082;objid=9340704;col=garber_greg;';
65
+ var ad_swid = '';
66
+ var ad_counter = 1;
67
+ var ad_ord = Math.floor(Math.random()*9999999999);
68
+ var ad_seg = '';
69
+ var ad_ref = 'other';
70
+ var ref = document.referrer;
71
+
72
+ if (ref.match('facebook.com')) {
73
+ ad_ref = 'facebook';
74
+ } else if (ref.match('twitter.com|t.co')) {
75
+ ad_ref = 'twitter';
76
+ } else if (ref.match('plus.url.google.com|plus.google.com')) {
77
+ ad_ref = 'googleplus';
78
+ } else if (ref.match('google.com')) {
79
+ ad_ref = 'google';
80
+ } else if (ref.match('bing.com')) {
81
+ ad_ref = 'bing';
82
+ } else if (ref.match('yahoo.com')) {
83
+ ad_ref = 'yahoo';
84
+ } else if (ref.match('espn.go.com')) {
85
+ ad_ref = 'espn';
86
+ }
87
+
88
+ ad_kvps = ad_kvps + 'ref=' + ad_ref + ';';
89
+
90
+
91
+ ad_swid = jQuery.cookie('SWID');
92
+ if(typeof espn.core.ad_segments == 'function') {
93
+ ad_seg = espn.core.ad_segments();
94
+ if (ad_seg != null && ad_seg != '') {
95
+ ad_kvps = ad_kvps + ad_seg
96
+ }
97
+ }
98
+
99
+
100
+ // the u
101
+ var ad_u = 'u=pgtyp=story|sp=tennis|pl=399|pl=261|pl=312|pl=1472|pl=1082|objid=9340704|col=garber_greg|ref=' + ad_ref + '|';
102
+ var ad_seg_u = ad_seg;
103
+ if (ad_swid != null && ad_swid != '') {
104
+ if (ad_swid.length > 54) {
105
+ ad_swid = ad_swid.substring(0,54);
106
+ }
107
+ ad_newu = 'u=swid='+ad_swid+'|';
108
+ ad_u = ad_u.replace('u=',ad_newu);
109
+ }
110
+ if (ad_seg_u != null && ad_seg_u != '') {
111
+ while(ad_seg_u.indexOf(';')!=-1) {
112
+ ad_seg_u = ad_seg_u.replace(';','|');
113
+ }
114
+ ad_u = ad_u + '|' + ad_seg_u;
115
+ }
116
+ ad_u = ad_u + ';';
117
+ if (ad_u.length > 255) {
118
+ ad_u = ad_u.substring(0,254);
119
+ }
120
+ </script>
121
+ </head>
122
+ <body class="tennis tier3 tier3-standard" >
123
+ <div class="mboxDefault"><link rel="stylesheet" charset="utf-8" media="screen" href="http://a.espncdn.com/prod/styles/modules/hideEditorialPicksMod.css" type="text/css" /></div><script>mboxCreate('ESPN_global');</script><!--[if IE 6]><div class="ie ie6"><![endif]-->
124
+ <!--[if IE 7]><div class="ie ie7"><![endif]-->
125
+ <!--[if IE 8]><div class="ie ie8"><![endif]-->
126
+ <!-- begin bg-elements -->
127
+ <div class="bg-elements">
128
+ <!-- begin header -->
129
+ <div id="header" class="container">
130
+ <!-- begin top-bar -->
131
+ <div class="top-bar">
132
+ <!-- begin uni login -->
133
+ <script type="text/javascript">
134
+ var returnURL = document.location.href;
135
+ var anCV = "";
136
+ var myEspnText = {'welcometext':'Welcome','register':'Register','signin':'Sign In','signout':'Sign Out','heliumdown':'Login Temporarily Unavailable','connectedfacebook':'Connected to Facebook','connectfacebook':'Connect with Facebook','activateinsider':'Activate Insider'};
137
+ </script>
138
+ <form id="form-memberarea">
139
+ <input type="hidden" name="language" id="language" value="en"/>
140
+ <input type="hidden" name="affiliateName" id="memberAreaAffiliateName" value="espn"/>
141
+ <input type="hidden" name="regFormId" id="regFormId" value="espn"/>
142
+ </form>
143
+ <div class="signin" id="signin"></div>
144
+ <script>espn.memberservices.welcome();</script>
145
+ <div class="nav-edition editions">
146
+ <label>EDITIONS:</label>
147
+ <ul class="main">
148
+ <li class="e-usa active"><a href="http://espn.go.com/" name="&amp;lpos=editionsnav&amp;lid=usa">USA</a></li>
149
+ <li class="e-deportes"><a href="http://espndeportes.espn.go.com/" name="&amp;lpos=editionsnav&amp;lid=deportes" class="{langPref:'spanish'}">ESPA&#x00D1;OL</a></li>
150
+ <li class="last dropdown">
151
+ <ul class="">
152
+ <li class="selected">More</li>
153
+ <li><a href="http://www.espnstar.com/" name="&amp;lpos=editionsnav&amp;lid=asia">Asia</a></li>
154
+ <li><a href="http://www.espn.com.au" name="&amp;lpos=editionsnav&amp;lid=australia">Australia</a></li>
155
+ <li><a href="http://www.espn.com.br" name="&amp;lpos=editionsnav&amp;lid=brazil">Brazil</a></li>
156
+ <li><a href="http://www.espn.co.uk/" name="&amp;lpos=editionsnav&amp;lid=uk">United Kingdom</a></li>
157
+ </ul>
158
+ </li>
159
+ </ul>
160
+ </div>
161
+
162
+ <div class="nav-edition">
163
+ <label>CITIES:</label>
164
+ <ul class="main">
165
+ <li class="e-boston"><a href="http://espn.go.com/boston/" name="&amp;lpos=citynav&amp;lid=boston">BOSTON</a></li>
166
+ <li class="e-chicago"><a href="http://espn.go.com/chicago/" name="&amp;lpos=citynav&amp;lid=chicago">CHICAGO</a></li>
167
+ <li class="e-dallas"><a href="http://espn.go.com/dallas/" name="&amp;lpos=citynav&amp;lid=dallas">DALLAS</a></li>
168
+ <li class="e-losangeles"><a href="http://espn.go.com/los-angeles/" name="&amp;lpos=citynav&amp;lid=losangeles">LOS ANGELES</a></li>
169
+ <li class="last e-newyork"><a href="http://espn.go.com/new-york/" name="&amp;lpos=citynav&amp;lid=newyork">NEW YORK</a></li>
170
+ </ul>
171
+ </div>
172
+ </div>
173
+ <!-- end top-bar -->
174
+ <!-- begin espn-logo -->
175
+ <div class="espn-logo">
176
+ <div class="h1"><a href="http://espn.go.com/" name="&lpos=sitenavdefault&lid=sitenav_main-logo" class="espn">ESPN</a> <a href="http://espn.go.com/tennis/" class="section-title">Tennis</a></div></div>
177
+ <!-- end espn-logo -->
178
+ <!-- begin ad -->
179
+ <span class="presby">
180
+ <!-- begin ad tag -->
181
+ <script language="JavaScript" type="text/javascript">
182
+ if (typeof ad_kvps != 'undefined' && typeof ad_u != 'undefined' && typeof ad_counter != 'undefined' && typeof ad_ord != 'undefined') {
183
+ if (typeof ad_site == 'undefined' || typeof ad_zone == 'undefined') {
184
+ var ad_site = 'espn.us.com.tennis';
185
+ var ad_zone = 'french13';
186
+ }
187
+ var pipe = '';
188
+ if (ad_u[ad_u.length - 2] != '|') {
189
+ pipe = '|';
190
+ }
191
+ var this_ad_u = ad_u.replace(';', pipe + 'sz=150x45,1x1|;');
192
+ var ad_finalString = 'http://ad.Doubleclick.net/adj/'+ad_site+'/'+ad_zone+';' +ad_kvps+ 'pos=SponsoredByLogoHeader;' +this_ad_u+ 'sz=150x45,1x1;tile=' +ad_counter+ ';ord=' +ad_ord;
193
+ document.write('<scr'+'ipt src='+ad_finalString+'></scr'+'ipt>');
194
+ ad_counter++;
195
+ }
196
+ </script>
197
+ <noscript>
198
+ <a href="http://ad.Doubleclick.net/jump/espn.us.com.tennis/french13;sz=150x45,1x1;" target="_blank">
199
+ <img src="http://ad.Doubleclick.net/ad/espn.us.com.tennis/french13;sz=150x45,1x1;" border="0" alt="">
200
+ </a>
201
+ </noscript>
202
+ <!-- end ad tag -->
203
+ </span>
204
+ <!-- end ad -->
205
+ <div id="shop"><a class="shop-btn" href="http://espnshop.com/entry.point?target=Z&source=ESPN_HPHEADERLINK:SHOPBUTTONHEADER:TENNIS_3_21_2012" name="&lpos=sitenavdefault&lid=sitenav_shopbutton">Shop</a></div><style>.ie6 #searchBox, .ie6 #searchBox div { display: inline; } </style><!-- begin search -->
206
+ <div id="nav-main-search">
207
+ <form id="searchBox" name="searchBox" action="http://search.espn.go.com/results" method="get" accept-charset="utf-8" style="color: #999999;">
208
+ <div class="clearfix">
209
+ <input autocomplete="off" class="text" type="text" placeholder="Search" name="searchString" id="searchString" />
210
+ <input type="hidden" name="page" id="page" value="null" />
211
+ <input type="hidden" name="fromForm" value="true" />
212
+ <input class="submit" type="submit" value="" />
213
+ </div>
214
+ </form>
215
+ </div>
216
+ <!-- end search -->
217
+ </div>
218
+ <!-- end header -->
219
+
220
+ <!-- begin ad tag -->
221
+ <script language="JavaScript" type="text/javascript">
222
+ if (typeof ad_kvps != 'undefined' && typeof ad_u != 'undefined' && typeof ad_counter != 'undefined' && typeof ad_ord != 'undefined') {
223
+ if (typeof ad_site == 'undefined' || typeof ad_zone == 'undefined') {
224
+ var ad_site = 'espn.us.com.tennis';
225
+ var ad_zone = 'french13';
226
+ }
227
+ var pipe = '';
228
+ if (ad_u[ad_u.length - 2] != '|') {
229
+ pipe = '|';
230
+ }
231
+ var this_ad_u = ad_u.replace(';', pipe + 'sz=1280x946,200x800,1x1|;');
232
+ var ad_finalString = 'http://ad.Doubleclick.net/adj/'+ad_site+'/'+ad_zone+';' +ad_kvps+ 'pos=Background_Skin;' +this_ad_u+ 'sz=1280x946,200x800,1x1;tile=' +ad_counter+ ';ord=' +ad_ord;
233
+ document.write('<scr'+'ipt src='+ad_finalString+'></scr'+'ipt>');
234
+ ad_counter++;
235
+ }
236
+ </script>
237
+ <noscript>
238
+ <a href="http://ad.Doubleclick.net/jump/espn.us.com.tennis/french13;sz=1280x946,200x800,1x1;" target="_blank">
239
+ <img src="http://ad.Doubleclick.net/ad/espn.us.com.tennis/french13;sz=1280x946,200x800,1x1;" border="0" alt="">
240
+ </a>
241
+ </noscript>
242
+ <!-- end ad tag -->
243
+ <!-- begin subheader -->
244
+ <div id="subheader">
245
+ <!-- begin content -->
246
+ <div id="content-wrapper">
247
+ <div id="ad-top" class="container">
248
+ <!-- begin Banner ad -->
249
+ <div class="span-6 ad banner top"><div class="ad-center"><div class="ad-wrapper">
250
+ <!-- begin ad tag -->
251
+ <script language="JavaScript" type="text/javascript">
252
+ if (typeof ad_kvps != 'undefined' && typeof ad_u != 'undefined' && typeof ad_counter != 'undefined' && typeof ad_ord != 'undefined') {
253
+ if (typeof ad_site == 'undefined' || typeof ad_zone == 'undefined') {
254
+ var ad_site = 'espn.us.com.tennis';
255
+ var ad_zone = 'french13';
256
+ }
257
+ var pipe = '';
258
+ if (ad_u[ad_u.length - 2] != '|') {
259
+ pipe = '|';
260
+ }
261
+ var this_ad_u = ad_u.replace(';', pipe + 'sz=728x90,970x66,924x50,1x1|;');
262
+ var ad_finalString = 'http://ad.Doubleclick.net/adj/'+ad_site+'/'+ad_zone+';' +ad_kvps+ 'pos=Banner;' +this_ad_u+ 'sz=728x90,970x66,924x50,1x1;tile=' +ad_counter+ ';ord=' +ad_ord;
263
+ document.write('<scr'+'ipt src='+ad_finalString+'></scr'+'ipt>');
264
+ ad_counter++;
265
+ }
266
+ </script>
267
+ <noscript>
268
+ <a href="http://ad.Doubleclick.net/jump/espn.us.com.tennis/french13;sz=728x90,970x66,924x50,1x1;" target="_blank">
269
+ <img src="http://ad.Doubleclick.net/ad/espn.us.com.tennis/french13;sz=728x90,970x66,924x50,1x1;" border="0" alt="">
270
+ </a>
271
+ </noscript>
272
+ <!-- end ad tag -->
273
+ </div></div></div>
274
+ <!-- end Banner ad -->
275
+ </div>
276
+ <div id="content" class="container">
277
+ <div id="fb-root"></div><!--[if lte IE 7]><link rel="stylesheet" charset="utf-8" media="screen" href="http://a.espncdn.com/combiner/c?css=modules/browser-alert.r7.css" type="text/css" /><div class="span-6" id="browser-alert-wrapper" style="display:none;"><div class="mod-container mod-no-header-footer browser-alert"><div class="mod-content"><div class="gradient-container"><h1><span>Your Web Browser</span> is no longer supported</h1><p>To experience everything that ESPN.com has to offer, we recommend that you upgrade to a newer version of your web browser. Click the upgrade button to the right or <a href="http://espn.go.com/espn/news/story?id=5630562">learn more</a>.</p><ul><li><a class="btn-upgrade" href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Upgrade</a></li><li><a class="btn-faq" href="http://espn.go.com/espn/news/story?id=5630562">FAQs</a></li></ul></div></div></div></div><script>(function(b){setTimeout(function(){var a=b("#browser-alert-wrapper");if(espn.cookie.get("browseralert")!="true"){b('<a class="btn-close" href="#">Close</a>').bind("click",function(){a.hide();espn.cookie.set("browseralert","true",30);return false}).appendTo(a.find(".gradient-container"));a.show();espn.cookie.set("browseralert","true")}},100)})(jQuery);</script><![endif]--><div id="sub-branding"><h2 class="logo"><a href="http://espn.go.com/sports/tennis/topics/_/page/french-open" class="sub-brand-title"><b>French Open 2013</b></a></h2><div class="presby">
278
+ <!-- begin ad tag -->
279
+ <script language="JavaScript" type="text/javascript">
280
+ if (typeof ad_kvps != 'undefined' && typeof ad_u != 'undefined' && typeof ad_counter != 'undefined' && typeof ad_ord != 'undefined') {
281
+ if (typeof ad_site == 'undefined' || typeof ad_zone == 'undefined') {
282
+ var ad_site = 'espn.us.com.tennis';
283
+ var ad_zone = 'french13';
284
+ }
285
+ var pipe = '';
286
+ if (ad_u[ad_u.length - 2] != '|') {
287
+ pipe = '|';
288
+ }
289
+ var this_ad_u = ad_u.replace(';', pipe + 'sz=180x45,1x1|;');
290
+ var ad_finalString = 'http://ad.Doubleclick.net/adj/'+ad_site+'/'+ad_zone+';' +ad_kvps+ 'pos=EnhancedLogo;' +this_ad_u+ 'sz=180x45,1x1;tile=' +ad_counter+ ';ord=' +ad_ord;
291
+ document.write('<scr'+'ipt src='+ad_finalString+'></scr'+'ipt>');
292
+ ad_counter++;
293
+ }
294
+ </script>
295
+ <noscript>
296
+ <a href="http://ad.Doubleclick.net/jump/espn.us.com.tennis/french13;sz=180x45,1x1;" target="_blank">
297
+ <img src="http://ad.Doubleclick.net/ad/espn.us.com.tennis/french13;sz=180x45,1x1;" border="0" alt="">
298
+ </a>
299
+ </noscript>
300
+ <!-- end ad tag -->
301
+ </div></div>
302
+ <div class="mboxDefault"></div><script>mboxCreate('InsiderReg-Empty');</script><div class="span-4">
303
+ <div class="bg-opaque pad-16 article">
304
+ <!-- begin mod-article-title -->
305
+ <div class="mod-article-title">
306
+ <span class="type">Commentary</span><div class="headline">
307
+ <h1 class="h2">Sharapova, Jankovic ready to&nbsp;duel</h1>
308
+ </div>
309
+ <div class="subhead"><div class="date"><span>Updated:</span> June 4, 2013, 4:56 PM ET</div>
310
+ <cite class="source">
311
+ By <a href="http://search.espn.go.com/greg-garber/">
312
+ Greg Garber</a> | ESPN.com</cite>
313
+ </div>
314
+ </div>
315
+ <div id="page-actions-top"><ul class="mod-page-actions"><li class="social facebook-recommend"><a href="https://www.facebook.com/sharer.php?u=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&t=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow"><span class="sprite-page-actions facebook"></span><span class="label">Recommend</span></a><a class="count" href="https://www.facebook.com/sharer.php?u=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&t=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow">0</a></li>
316
+ <li class="social twitter-tweet"><a href="http://twitter.com/intent/tweet?url=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&text=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow"><span class="sprite-page-actions twitter"></span><span class="label">Tweet</span></a><a class="count" href="http://twitter.com/intent/tweet?url=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&text=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow">0</a></li>
317
+ <li class="social echo-comments"><a href="/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" rel="nofollow"><span class="sprite-page-actions comments"></span><span class="label">Comments</span></a><a class="count" href="/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" rel="nofollow">0</a></li><li class="espn-email"><a id="email-9340704" class="email" href="http://sendtofriend.espn.go.com/sendtofriend/SendToFriend?URL=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&title=Garber%3A+Sharapova,+Jankovic+ready+to+duel+&id=9340704" target="_new" rel="nofollow"><span class="sprite-page-actions email"></span><span class="label">Email</span></a></li>
318
+ <li><a id="print-9340704" class="print" href="http://espn.go.com/espn/print?id=9340704&type=story" rel="nofollow"><span class="sprite-page-actions print"></span><span class="label">Print</span></a></li>
319
+ </ul></div><!-- end mod-article-title -->
320
+ <!-- begin story body -->
321
+ <div style="overflow:hidden;"><p>PARIS -- Despite what Yuri Sharapov might say, tennis champions are made, not born.</p></p><p>
322
+ <p>"Well," said <a href="http://sports.espn.go.com/sports/tennis/players/profile?playerId=399">Maria Sharapova</a> on Monday, "he's my father. He thinks I can beat <a href="http://sports.espn.go.com/sports/tennis/players/profile?playerId=261">Rafael Nadal</a> on clay."</p>
323
+ <p>Sharapova's journey began in earnest at the age of 6, when she attended a clinic in Moscow, run by 18-time Grand Slam singles champion Martina Navratilova. Maria was a tiny slip of a thing with a huge mop of blonde hair and an adult racket that looked ridiculous in her small hands -- until she started hitting balls. Navratilova suggested to Yuri that he take his daughter to America, more specifically, the Nick Bollettieri Tennis Academy in Bradenton, Fla.</p>
324
+ <p>She was 9 when they arrived at Bollettieri's, straight from Siberia.</p>
325
+ <p><div class="mod-inline image image-right"><div style="margin-left:10px; width:200px;"><a class="enlarge" href="http://a.espncdn.com/photo/2013/0604/ten_a_jankovic01jr_400.jpg" credit="AP Photo/Petr David Josek">[+] Enlarge<img src="http://a.espncdn.com/photo/2013/0604/ten_a_jankovic01jr_200.jpg" width="200" height="300" alt="Jelena Jankovic" border="0" /></a><div style="width: 200px;"><cite>AP Photo/Petr David Josek</cite>Jelena Jankovic has struggled since she lost her No. 1 ranking, but she is focused once again. </div></div></div>"There are so many turning points, obviously," Sharapova explained. "Moving to the United States when you're 7 years old and not [having] a lot of money is one of them -- because there's a huge chance that you're going to be on the plane back."</p>
326
+ <p>Bollettieri's was a fabulous tennis factory. Andre Agassi, Jim Courier, Boris Becker, Monica Seles and even the Williams sisters have all been part of the volatile vortex there. Soon, Sharapova and another girl, <a href="http://sports.espn.go.com/sports/tennis/players/profile?playerId=312">Jelena Jankovic</a> from Belgrade, Serbia, found themselves battling to separate themselves from the talented group. Jankovic, two years older, and Sharapova became fiercely competitive. Their games were wildly different. Sharapova had booming groundstrokes, while Jankovic was a relentless retriever.</p>
327
+ <p>"To tell you the truth," said Bollettieri from his IMG Academy on Tuesday, "they weren't all that friendly. I mean, in those days, Maria scared the s--- out of all the girls, even when she was that young."</p>
328
+ <p>The fiery chemistry between them, that undeniable dynamic tension, is certainly part of the reason they would both eventually ascend to the WTA's No. 1 ranking.</p>
329
+ <p>On Wednesday, they meet for the ninth time as professionals in a quarterfinal match at Roland Garros. In the fourth round, Sharapova beat 20-year-old American <a href="http://sports.espn.go.com/sports/tennis/players/profile?playerId=1472">Sloane Stephens</a> and Janokovic handled American <a href="http://sports.espn.go.com/sports/tennis/players/profile?playerId=1082">Jamie Hampton</a>. They lost a total of only nine games between them.</p>
330
+ <p>Surprisingly, their head-to-head results indicate they have never met on clay. But surely, they played on the dirt back at Bolletieri's?</p>
331
+ <p>"I think so," Sharapova said. "Maybe not. I don't know."</p>
332
+ <p>Jankovic wasn't exactly sure, either, when the subject arose in her Monday news conference.</p>
333
+ <p>"Yeah," she said, "it was like when we were 12 years old maybe, if that counts. Does that count?"</p>
334
+ <p>Sure, if she won.</p>
335
+ <p>"Yeah, like 26 years ago, if that counts," Jankovic said, unconvinced. "OK. Yeah, it's going to be our first encounter on clay. Every match is a new match and it's a challenge."</p>
336
+ <p>Sharapova, the No. 2 seed here, will be more than a handful for the 28-year-old Serb. With all the attention focused on the No. 1-seeded <a href="http://sports.espn.go.com/sports/tennis/players/profile?playerId=394">Serena Williams</a>, Sharapova has been quietly ripping through the field and has yet to lose a set. And for the record, Sharapova is 16-3 in Grand Slam quarterfinals -- with all three losses coming here in Paris.&nbsp;</p>
337
+ <p>In 2004, when Jankovic won only two Grand Slam singles matches, Sharapova exploded like a comet across the sky. She made the quarterfinals here and then, boom, throttled Serena in the final. Sharapova was less than three months past her 17th birthday. A year later, she would become No. 1. She won the US Open in 2006 and the Australian Open in 2008. Her title at last year's French Open was unlooked-for, but it gave her the career Grand Slam.</p>
338
+ <p>Jankovic was a relatively late bloomer. While lacking Sharapova's power -- on groundstrokes, but particularly the serve -- Jankovic has compensated with speed and defense and her signature shot, a superb backhand down the line.</p>
339
+ <p>"Which is the shot that pays my bills," she said, laughing.</p>
340
+ <p>Jankovic has had her best results on the hard courts at the US Open, where she reached the semifinals, quarterfinals and final from 2006 to '08, and here at Roland Garros, where she's made the semifinals three times. For 18 weeks in 2008, she was the WTA's top-ranked player.</p>
341
+ <p>Lately, though, she has struggled. Jankovic was 32-30 in matches last year, losing 14 times in the first round. She fell out of the year-end top 20 for the first time in seven years. This year, playing without a coach, she's improved.</p>
342
+ <p>"She's changed coaches more than I've changed wives," cracked Bollettieri, who at 81 has been married eight times. "I'm happy to see Jelena playing well again."</p>
343
+ <p>In February, Jankovic won her 13th WTA title in Bogota, then reached the semifinals at Indian Wells (losing to Sharapova) and the Charleston finals, falling to Williams. She is No. 11 among WTA players in the 2013 Race to Istanbul.</p>
344
+ <p>"I go now for my shots and I believe I can make it," she said. "It's a lot of belief. That's, I think, what was missing."</p>
345
+ <p>Jankovic will need all of that belief Wednesday, for Sharapova has won seven of their eight matches, four of them in finals. The only breakthrough? The 2007 Birmingham final on grass. This one, being their first official match on clay, gives her a degree of hope.</p>
346
+ <p>"I think the clay really suits her game," Sharapova said. "She's a great retriever, gets a lot of balls back."</p>
347
+ <p>Jankovic knows Sharapova will be the overwhelming favorite.</p>
348
+ <p>"Maria won this tournament last year," Jankovic said. "She has played very well last year on clay and as well this year. She's a tough opponent."</p>
349
+ <p>Jimmy Connors has made headlines with his new book, and Sharapova says she, too, would like to write a memoir. It will be based on the journal she has kept since the early days at Bollettieri's.</p>
350
+ <p>"Some of it is mind-blowing," she said. "Everyone says that I'm so focused on the court and people ask me why and how and [if] you're born with it or not. I think it's something you learn.</p>
351
+ <p>"Little by little, you work toward your goals. There are a lot of different directions that can go wrong at such a young development stage."</p>
352
+ <p>In the case of Sharapova and Jankovic, it couldn't have gone better. Fifteen, 16 years ago, they battled and pushed each other. For a time, they both reached the very top of their profession. Wednesday, they will renew their spirited rivalry.</p>
353
+ <p>"Jelena is the better mover, especially laterally," Bollettieri observed. "Maria's groundstrokes have way more firepower. I think it's going to come down to who serves better. Both of their serves can go off in the nervous times.</p>
354
+ <p>"I'm looking forward to watching it."</p></p><p></p><p>
355
+ </p><ul id="page-actions-bottom" class="mod-page-actions"><li class="social facebook-recommend"><a href="https://www.facebook.com/sharer.php?u=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&t=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow"><span class="sprite-page-actions facebook"></span><span class="label">Recommend</span></a><a class="count" href="https://www.facebook.com/sharer.php?u=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&t=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow">0</a></li>
356
+ <li class="social twitter-tweet"><a href="http://twitter.com/intent/tweet?url=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&text=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow"><span class="sprite-page-actions twitter"></span><span class="label">Tweet</span></a><a class="count" href="http://twitter.com/intent/tweet?url=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&text=Garber%3A+Sharapova,+Jankovic+ready+to+duel+" target="_new" rel="nofollow">0</a></li>
357
+ <li class="social echo-comments"><a href="/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" rel="nofollow"><span class="sprite-page-actions comments"></span><span class="label">Comments</span></a><a class="count" href="/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" rel="nofollow">0</a></li><li class="espn-email"><a id="email-9340704" class="email" href="http://sendtofriend.espn.go.com/sendtofriend/SendToFriend?URL=http%3A%2f%2fespn.go.com%2ftennis%2ffrench13%2fstory%2f_%2fid%2f9340704%2ffrench%2dopen%2dmaria%2dsharapova%2djelena%2djankovic%2dready%2dduel&title=Garber%3A+Sharapova,+Jankovic+ready+to+duel+&id=9340704" target="_new" rel="nofollow"><span class="sprite-page-actions email"></span><span class="label">Email</span></a></li>
358
+ <li><a id="print-9340704" class="print" href="http://espn.go.com/espn/print?id=9340704&type=story" rel="nofollow"><span class="sprite-page-actions print"></span><span class="label">Print</span></a></li>
359
+ <li><a href="http://insider.espn.go.com/insider/promo/offer?addata=insdr_footer_sub" target="_new"><span class="sprite-page-actions" style="background-position: 0 15px"><img alt="Insider" src="http://a.espncdn.com/icons/in_15.png"></span><span class="label">Subscribe</span></a></li>
360
+ </ul><script>jQuery.getScriptCache('http://a.espncdn.com/combiner/c/69?js=jquery.sharetools.r12.js', function() {jQuery('#page-actions-top, #page-actions-bottom').sharetools('http://espn.go.com/tennis/french13/story/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel');});</script><div class="mod-author-bio" style="overflow:visible;"><div class="author"><a href="http://search.espn.go.com/greg-garber/"><img class="floatleft" src="http://a.espncdn.com/combiner/i?img=%2fi%2fcolumnists%2fgarber_greg_m.jpg&w=35&h=48"></a><h4><a href="http://search.espn.go.com/greg-garber/">Greg Garber</a></h4>Writer, Reporter<ul class="author-actions" style="overflow:visible;"><li style="line-height: 20px;"><a href="http://search.espn.go.com/greg-garber/">Archive</a></li></ul></div><div style="color: #555555; font-size: 10px; line-height: 13px; width: 50%; float: left;">Greg Garber joined ESPN in 1991 and provides reports for NFL Countdown and SportsCenter. He is also a regular contributor to Outside the Lines and a senior writer for ESPN.com.</div><div class="clear"></div></div></div>
361
+ <!-- end story body -->
362
+ </div>
363
+ <div class="bg-opaque mod-outbrain mod-no-border">
364
+ <div class="mod-content">
365
+ <div class="col-left">
366
+ <h4 class="first">SPONSORED HEADLINES</h4>
367
+ <div class="OUTBRAIN" data-src="http://espn.go.com/tennis/french13/story/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" data-widget-id="AR_1" data-ob-template="espn" ></div></div>
368
+ <div class="col-right">
369
+ <h4 class="first">MORE TENNIS HEADLINES</h4>
370
+ <ul>
371
+ <li><a href="http://espn.go.com/tennis/french13/story/_/id/9345311/2013-french-open-novak-djokovic-rafael-nadal-set-semifinals-match" name="&amp;lpos=story_mh&amp;lid=Djokovic, Nadal set">Djokovic, Nadal set up French semis match</a></li>
372
+ <li><a href="http://espn.go.com/tennis/french13/story/_/id/9344544/2013-french-open-maria-sharapova-rallies-jelena-jankovic-quarters" name="&amp;lpos=story_mh&amp;lid=Sharapova rallies p">Sharapova rallies past Jankovic at French Open</a></li>
373
+ <li><a href="http://espn.go.com/tennis/french13/story/_/id/9348691/2013-french-open-bryan-brothers-reach-doubles-final" name="&amp;lpos=story_mh&amp;lid=Bryans aim for reco">Bryans aim for record 14th major doubles title</a></li>
374
+ <li><a href="http://espn.go.com/tennis/french13/story/_/id/9348063/2013-french-open-lucie-hradecka-frantisek-cermak-win-mixed-doubles" name="&amp;lpos=story_mh&amp;lid=Hradecka, Cermak ea">Hradecka, Cermak earn mixed doubles title</a></li>
375
+ </ul>
376
+ <h4>MOST SENT STORIES ON ESPN.COM</h4>
377
+ <ul>
378
+ <li><a href="http://espn.go.com/espn/story/_/id/9338962/when-beautiful-game-turns-ugly" name="&amp;lpos=story_ms&amp;lid=When The Beautiful">When The Beautiful Game Turns Ugly</a></li>
379
+ <li><a href="http://espn.go.com/college-sports/story/_/id/9346303/alabama-apr-honor-roll-13-fbs-teams" name="&amp;lpos=story_ms&amp;lid=Alabama on APR hono">Alabama on APR honor roll of 13 FBS teams</a></li>
380
+ <li><a href="http://espn.go.com/nba/playoffs/2013/story/_/id/9341250/gregg-popovich-vs-sideline-reporters" name="&amp;lpos=story_ms&amp;lid=Stein: Interviewing">Stein: Interviewing Popovich</a></li>
381
+ <li><a href="http://espn.go.com/espn/story/_/id/9341509/kawhi-leonard" name="&amp;lpos=story_ms&amp;lid=Reilly: Kawhi Leona">Reilly: Kawhi Leonard's quiet drive</a></li>
382
+ </ul>
383
+ </div>
384
+ </div>
385
+ </div>
386
+ <div class="bg-opaque pad-left-6 pad-right-6 mod-conversations"><div class="mod-header"><a href="http://espn.go.com/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel"><h3>ESPN Conversations</h3></a><div class="comment_count" id="comments-on-story"><a href="http://espn.go.com/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel" class="count_bubble"><span id="echocounter9340704"></span></a> <span class="comment-text">comments</span></div></div><div class="clear"></div><div class="mod-content"><div class="clear"></div><ul><li class="comment_btn comment_btn_add"><a href="http://espn.go.com/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel">+ Add your comment</a></li><li class="comment_btn comment_btn_view last"><a href="http://espn.go.com/sports/conversations/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel">View all comments</a></li></ul><div id="echostream9340704"></div>
387
+ </div></div>
388
+ <link href="http://a.espncdn.com/combiner/c?css=community/echo.1.3.8.css" rel="stylesheet" charset="utf-8" />
389
+
390
+ <script src="http://a.espncdn.com/combiner/c?v=20121128&js=community/echo/jquery-plugins.0.0.2.js,community/echo/auth.0.1.6.js,community/echo/backplane.0.0.0.js" type="text/javascript"></script>
391
+ <script type="text/javascript">
392
+ var user_echo = null;
393
+ var user_echo_tokens = espn.storage.getItem("tokens");
394
+ var echo_allow_access = false;
395
+
396
+ var loadEchoScripts = function(scripts, callback) {
397
+ window.EchoLoader = window.EchoLoader || {
398
+ "scripts": {},
399
+ "inProgress": false,
400
+ "queue": []
401
+ };
402
+ var load = function(args) {
403
+ var scripts2load = [];
404
+ jQuery.map(args.scripts, function(script) {
405
+ if (!EchoLoader.scripts[script]) {
406
+ scripts2load.push(script);
407
+ EchoLoader.scripts[script] = true;
408
+ }
409
+ });
410
+ if (!scripts2load.length) {
411
+ args.callback();
412
+ EchoLoader.inProgress = false;
413
+ if (EchoLoader.queue.length) {
414
+ load(EchoLoader.queue.shift());
415
+ }
416
+ return;
417
+ }
418
+ jQuery.getScript("http://a.espncdn.com/combiner/c/201306?js=" + scripts2load.join(","), function() {
419
+ args.callback();
420
+ EchoLoader.inProgress = false;
421
+ if (EchoLoader.queue.length) {
422
+ load(EchoLoader.queue.shift());
423
+ }
424
+ });
425
+ };
426
+ EchoLoader.queue.push({
427
+ "scripts": scripts,
428
+ "callback": callback
429
+ });
430
+ if (!EchoLoader.inProgress) {
431
+ EchoLoader.inProgress = true;
432
+ load(EchoLoader.queue.shift());
433
+ }
434
+ };
435
+
436
+ function loginActions () {
437
+ if (espn.core.loggedIn) {
438
+ var echo_swid = espn.core.SWID.replace(/({|-|})/g,'');
439
+ var echo_grif = espn.cookie.get('grif');
440
+ if (echo_grif == null) {
441
+ echo_allow_access = true;
442
+ }
443
+ Backplane.resetCookieChannel();
444
+ Backplane.init({
445
+ "serverBaseURL" : "https://api.echoenabled.com/v1",
446
+ "busName": "espn.go.com",
447
+ "channelName": echo_swid
448
+ });
449
+ var backplane_confirmation = false;
450
+ var backplane_subscription = Backplane.subscribe(function(message) {
451
+ if (message.type == "identity/ack") {
452
+ backplane_confirmation = true;
453
+ Backplane.unsubscribe(backplane_subscription);
454
+ }
455
+ });
456
+ user_echo = new Echo.User({"appkey": "dev.espn.go.com"});
457
+ user_echo.init(function() {
458
+ if (!user_echo.logged()) {
459
+ if (backplane_confirmation) {
460
+ user_echo._global("set", "state", "init");
461
+ user_echo.init();
462
+ } else {
463
+ Backplane.expectMessages(["identity/ack"]);
464
+ if (!user_echo.logged()) {
465
+ Backplane.config.customChannelName = echo_swid;
466
+ Backplane.resetCookieChannel();
467
+ jQuery.cookie('backplane-id',echo_swid,{'expires':90,'domain':'.go.com'});
468
+ jQuery.cookie('backplane-id',echo_swid,{'expires':90,'domain':'.espn.go.com'});
469
+ jQuery.cookie('bp_channel_id',Backplane.getChannelID(),{'expires':90,'domain':'.go.com'});
470
+ jQuery.get('https://r.espn.go.com/members/util/echoAuthenticate', null, null, 'jsonp');
471
+ }
472
+ }
473
+ }
474
+ if (user_echo_tokens != null && user_echo && user_echo.account && user_echo.account.markers) {
475
+ var user_echo_markers = user_echo.account.markers;
476
+ var user_echo_insider = false;
477
+ var user_espn_insider = false;
478
+ if (user_echo_markers['espn.insider']!=null) user_echo_insider = true;
479
+ if (user_echo_tokens != null && (jQuery.inArray(27, user_echo_tokens)>-1 || jQuery.inArray(749, user_echo_tokens)>-1)) user_espn_insider = true;
480
+ if ( (user_echo_insider != user_espn_insider)) {
481
+ jQuery.get('http://espn.go.com/community/api/echo/insider', null, null, 'jsonp');
482
+ }
483
+ }
484
+ });
485
+
486
+ var echo_sCookie = jQuery.cookie("s_espn");
487
+ var echo_dpcCookie = jQuery.cookie("espn_dpc");
488
+ if (echo_sCookie == null && echo_dpcCookie == null) {
489
+ var echo_session = Math.floor((Math.random()*100000000000)+1);
490
+ if(echo_swid != null){
491
+ echo_session = echo_session + echo_swid;
492
+ }
493
+ jQuery.cookie('s_espn', echo_session , {domain:document.domain.match(/[-\w]+\.(?:[-\w]+\.xn--[-\w]+|[-\w]{3,}|[-\w]+\.[-\w]{2})$/)[0]});
494
+ var head = document.getElementsByTagName('head').item(0);
495
+ var script = document.createElement('script');
496
+ script.setAttribute('type', 'text/javascript');
497
+ script.setAttribute('src', 'http://a.espncdn.com/prod/scripts/community/espn-dpc.0.0.4.js');
498
+ head.appendChild(script);
499
+ }
500
+ } else {
501
+ jQuery.subscribe('espn.core.logged', function () {
502
+ user_echo_tokens = espn.storage.getItem("tokens");
503
+ loginActions();
504
+ jQuery.publish('espn.core.echologged');
505
+ });
506
+ user_echo = new Echo.User({"appkey": "dev.espn.go.com"});
507
+ user_echo.init(function() { if (user_echo.logged()) { user_echo.logout(); } });
508
+ }
509
+ }
510
+ loginActions();
511
+
512
+ Echo.Broadcast.subscribe("Submit.onPostComplete", function(topic, data) {
513
+ if (typeof window.anTrackEvent == 'function') anTrackEvent('', 'new_comment', '');
514
+ });
515
+ </script>
516
+
517
+ <script type="text/javascript">
518
+ var echostream9340704_query = "childrenof:http://espn.go.com/tennis/french13/story/_/id/9340704 sortOrder:chronological type:comment itemsPerPage:25 markers:featured state:Untouched,ModeratorApproved -user.state:ModeratorBanned,ModeratorDeleted children markers:featured state:Untouched,ModeratorApproved -user.state:ModeratorBanned,ModeratorDeleted childrenSortOrder:chronological";
519
+ var echostream9340704_scripts = [
520
+ "community/echo/stream.0.2.9.js","community/echo/submit.0.2.1.js","community/echo/user-list.0.1.6.js","community/echo/plugins/item-normalization.0.0.6.js","community/echo/plugins/form-auth.0.0.1.js","community/echo/plugins/reply.0.0.5.js","community/echo/plugins/submit-dpc.0.1.0.js","community/echo/plugins/like-simple.0.0.0.js","community/echo/plugins/community-flag.0.0.3.js","community/echo/plugins/user-gag.0.1.5.js","community/echo/plugins/stream-header-controls.0.0.3.js","community/echo/plugins/item-timestamp.0.0.3.js","community/echo/plugins/item-conditional-css.0.0.0.js","community/echo/plugins/emptystream.0.0.0.js","community/echo/plugins/default-avatar.0.0.4.js","community/echo/plugins/edit.0.0.4.js","community/echo/plugins/stream-continuous-scroll.0.0.0.js","community/echo/plugins/profile.0.0.5.js","community/echo/plugins/item-hover-card.0.0.5.js","community/echo/plugins/permalink.0.0.7.js","community/echo/plugins/reply-quote.0.0.9.js"
521
+ ];
522
+ var echostream9340704_scripts_moderation = [
523
+ "community/echo/plugins/metadata-manager.0.0.1.js",
524
+ "community/echo/curation.0.1.6.js",
525
+ "community/echo/plugins/curation.0.0.1.js",
526
+ "community/echo/plugins/user-ban.0.0.1.js",
527
+ "community/echo/plugins/reset.0.0.0.js"
528
+ ];
529
+
530
+ var modAccess = false;
531
+
532
+ if (user_echo_tokens != null) {
533
+ if (jQuery.inArray(2159, user_echo_tokens) > -1) {
534
+ echostream9340704_scripts = jQuery.merge(echostream9340704_scripts, echostream9340704_scripts_moderation);
535
+ modAccess = true;
536
+ }
537
+ }
538
+
539
+
540
+
541
+
542
+ var echostream9340704 = {};
543
+
544
+ loadEchoScripts(echostream9340704_scripts, function() {
545
+ (function() {
546
+ var echostream9340704Scoped = new Echo.Stream({
547
+ "target":document.getElementById('echostream9340704'),
548
+ "appkey":"dev.espn.go.com",
549
+ "query":echostream9340704_query,
550
+ "liveUpdates": false,
551
+ "liveUpdatesTimeout": 12,
552
+ "openLinksInNewWindow":true,
553
+ "maxBodyCharacters":500,
554
+ "maxBodyLines":10,
555
+ "streamStateLabel":{ "icon":false, "text":false },
556
+ "viaLabel":{ "icon":false, "text":false },
557
+ "reTag":false,
558
+ "contentTransformations": {"text":["smileys", "urls", "newlines"], "html":["smileys", "urls", "newlines"], "xhtml":["smileys", "urls", "newlines"]},
559
+ "aggressiveSanitization":false,
560
+ "itemControlsOrder": ["SimpleLikeUI", "Reply", "ReplyQuote", "CommunityFlag", "Edit", "SelfShare", "MetadataManager", "ResetItemControl", "Curation", "UserBan", "UserGag", "TwitterIntents"],
561
+ "children": {
562
+ "additionalItemsPerPage": 5,
563
+ "moreButtonSlideTimeout": 700,
564
+ "itemsSlideTimeout": 700
565
+ },
566
+ "plugins":[
567
+
568
+ { "name":"SimpleLikeUI" },
569
+ { "name":"SelfShare", "appid":"116656161708917", "twitter":"ESPN", "locale":"en" },
570
+
571
+ { "name":"DisableEmptyStream" },
572
+
573
+ { "name":"ItemContentNormalizer" },
574
+
575
+
576
+ { "name":"ResetItemControl" },
577
+ { "name":"Curation" },
578
+ { "name":"UserBan" },
579
+ { "name":"MetadataManager", "controls":[{"marker":"featured", "labelMark":"Feature", "labelUnmark":"Unfeature"}] },
580
+ { "name":"FlagsUserList" },
581
+
582
+ { "name":"UserGag", "enableGagControl":modAccess },
583
+ { "name":"Edit", "layout":"inline" },
584
+
585
+
586
+ { "name":"EspnProfile" },
587
+
588
+
589
+ { "name":"Permalink" },
590
+ { "name":"ItemTimestamp", "locale":"en" },
591
+ {
592
+ "name": "ItemConditionalCSSClasses",
593
+ "conditions": [
594
+ { "field":"actor.markers", "value":"espn.whitelist", "className":"echo-item-whitelist" },
595
+ { "field":"actor.markers", "value":"espn.insider", "className":"echo-item-insider" },
596
+ { "field":"object.markers", "value":"featured", "className":"echo-item-featured" },
597
+ { "field":"object.markers", "value":"mobile", "className":"echo-item-mobile" }
598
+ ]
599
+ },
600
+ { "name":"DefaultAvatar", "avatar":"http://avatars.espn.go.com/assets/espn_images/33/90/b6692ea5df920cad691c20319a6fffd7a4a766b8/silo_dude.jpg" }
601
+ ]
602
+ });
603
+ echostream9340704.config = {
604
+ 'set': function(attr, val) {
605
+ return echostream9340704Scoped.config.set(attr, val);
606
+ },
607
+ 'get': function(key, defaults) {
608
+ return echostream9340704Scoped.config.get(key, defaults);
609
+ }
610
+ };
611
+ echostream9340704.refresh = function() { echostream9340704Scoped.refresh(); }
612
+
613
+ })();
614
+ });
615
+ </script>
616
+
617
+ <script type="text/javascript">
618
+ loadEchoScripts(["community/echo/counter.0.1.7.js"], function() {
619
+ new Echo.Counter({
620
+ "target":document.getElementById("echocounter9340704"),
621
+ "appkey":"dev.espn.go.com",
622
+ "query":"childrenof:http://espn.go.com/tennis/french13/story/_/id/9340704 source:espn.go.com,ESPN type:comment state:Untouched,ModeratorApproved -user.state:ModeratorBanned,ModeratorDeleted children source:espn.go.com,ESPN state:Untouched,ModeratorApproved -user.state:ModeratorBanned,ModeratorDeleted",
623
+ "liveUpdates": false
624
+ });
625
+ });
626
+ </script>
627
+
628
+ <script type="text/javascript">
629
+ (function($) {
630
+ $(document).ready(function () {
631
+ (function checkCommentCount() {
632
+ var commentCount = $('span#echocounter9340704').html(),
633
+ cancel = 0;
634
+ if (commentCount !== '' || cancel > 10) {
635
+ if (commentCount == '0' || commentCount == '') {
636
+ $('#comments-on-story').hide();
637
+ $('#link-to-story').html('+ Be the first to comment');
638
+ $('a.count_bubble,span.comment-text').hide();
639
+ $('.comment_btn_view').hide();
640
+ $('.comment_btn_add').addClass('full last');
641
+ }
642
+ else{
643
+ if (commentCount.length <= 7){ // don't show the span that echo displays if it hasn't rendered yet
644
+ $('.echocounter9340704,a.comment-count span').html(commentCount);
645
+ }
646
+ }
647
+ plural = 'comment' + ((commentCount == '1') ? '' : 's');
648
+ $('.comment-text').html(plural);
649
+ } else {
650
+ cancel++;
651
+ setTimeout(checkCommentCount, 200);
652
+ }
653
+
654
+ })();
655
+ })
656
+ })(jQuery);
657
+ </script>
658
+ </div>
659
+ <div id="noContent" style="display:none;"></div><!-- begin column 2 -->
660
+ <div class="span-2 last">
661
+ <style>.mod-package ul.bulletlinks li { white-space: nowrap; }</style><!-- begin package module -->
662
+ <div class="mod-container mod-no-footer mod-package" id="mod_packagemodule">
663
+ <div class="mod-header">
664
+ <h4>Long Story Short</h4>
665
+ </div>
666
+ <div class="mod-content mod-open">
667
+ <div class="gradient-container">
668
+ <p><img style="display:block; margin-left:auto; margin-right:auto; float:none;" alt="Federer_Roger 130604 [203x114]" src="http://a.espncdn.com/photo/2013/0604/ten_g_federer01jr_203.jpg"><p>After the beating Roger Federer took in Paris, it was hard not to notice the reality of an aging champ. <a href="http://espn.go.com/tennis/french13/story/_/id/9341434/french-open-sad-ending-roger-federer-france">Greg Garber &#187</a></p><ul class="bulletlinks" style="padding:5px 0 0 !important;"><li><a href="http://espn.go.com/tennis/french13/story/_/id/9341869/french-open-french-open-sara-errani-digs">Garber: Something about the French Errani digs</a>&nbsp;</li><li><a href="http://espn.go.com/tennis/french13/story/_/id/9340704/french-open-maria-sharapova-jelena-jankovic-ready-duel">Garber: Sharapova, Jankovic ready to duel </a>&nbsp;</li><li><a href="http://espn.go.com/tennis/french13/story/_/id/9337449/french-open-haas-fortunes-turn-better">Garber: Haas' fortunes turn for the better</a>&nbsp;</li><li><a href="http://espn.go.com/tennis/french13/story/_/id/9338155/french-open-emotions-playing-role-djoker-rafa">Garber: Emotions in play for Nadal and Djokovic</a>&nbsp;</li><li><a href="http://espn.go.com/espnw/more-sports/9337275/2013-french-open-american-dreams-derailed-paris">Caple: American dreams derailed at French Open</a>&nbsp;</li><li><a href="http://espn.go.com/espnw/more-sports/9334573/2013-french-open-serena-williams-steamrolling-french-open-opponents">Caple: Serena Williams steamrolling opponents</a>&nbsp;</li><li><a href="http://espn.go.com/tennis/french13/story/_/id/9334436/french-open-tommy-robredo-pulls-triple-escape">Garber: Tommy Robredo pulls off triple escape</a>&nbsp;</li><li><a href="http://espn.go.com/tennis/french13/story/_/id/9331792/french-open-clay-not-really-victoria-azarenka-forte">Garber: Clay not really Azarenka's forte </a>&nbsp;</li></ul><h5>VIDEO</h5><ul class="bulletlinks" style="padding:5px 0 0 !important;"><li><a href="http://espn.go.com/video/clip?id=9341560">Federer Disappointed By Performance</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li><li><a href="http://espn.go.com/video/clip?id=9341564">Tsonga Upsets Federer</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li><li><a href="http://espn.go.com/video/clip?id=9341482">Federer Falls To Tsonga</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li><li><a href="http://espn.go.com/video/clip?id=9341773">Five Things We Learned: Day 10</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li><li><a href="http://espn.go.com/video/clip?id=9340974">A Good Test For Serena</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li><li><a href="http://espn.go.com/video/clip?id=9338634">Djokovic Needs 4 Sets To Reach Quarters</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li><li><a href="http://espn.go.com/video/clip?id=9338451">Defending Champ Sharapova Advances</a>&nbsp;<img src="http://a.espncdn.com/icons/watch.png" alt="Watch" /></li></ul></div>
669
+ </div>
670
+ </div>
671
+ <!-- end package module -->
672
+ <!-- begin InContent -->
673
+ <div class="ad-box" id="AdContainer">
674
+ <!-- begin ad tag -->
675
+ <script language="JavaScript" type="text/javascript">
676
+ if (typeof ad_kvps != 'undefined' && typeof ad_u != 'undefined' && typeof ad_counter != 'undefined' && typeof ad_ord != 'undefined') {
677
+ if (typeof ad_site == 'undefined' || typeof ad_zone == 'undefined') {
678
+ var ad_site = 'espn.us.com.tennis';
679
+ var ad_zone = 'french13';
680
+ }
681
+ var pipe = '';
682
+ if (ad_u[ad_u.length - 2] != '|') {
683
+ pipe = '|';
684
+ }
685
+ var this_ad_u = ad_u.replace(';', pipe + 'sz=300x600,300x250,1x1|;');
686
+ var ad_finalString = 'http://ad.Doubleclick.net/adj/'+ad_site+'/'+ad_zone+';' +ad_kvps+ 'pos=InContent;' +this_ad_u+ 'dcopt=ist;sz=300x600,300x250,1x1;tile=' +ad_counter+ ';ord=' +ad_ord;
687
+ document.write('<scr'+'ipt src='+ad_finalString+'></scr'+'ipt>');
688
+ ad_counter++;
689
+ }
690
+ </script>
691
+ <noscript>
692
+ <a href="http://ad.Doubleclick.net/jump/espn.us.com.tennis/french13;sz=300x600,300x250,1x1;" target="_blank">
693
+ <img src="http://ad.Doubleclick.net/ad/espn.us.com.tennis/french13;sz=300x600,300x250,1x1;" border="0" alt="">
694
+ </a>
695
+ </noscript>
696
+ <!-- end ad tag -->
697
+ </div><!-- end InContent -->
698
+ <!-- objId =3765803--><!-- itemId =9346371--><!-- itemId =9347920--><!-- itemId =9345640--><!-- EDITORS' PICKS --><div class="mod-container mod-no-footer mod-open-list" id="mod_storyedpicks_show"><div class="mod-header"><h4>EDITORS' PICKS</h4></div><div class="mod-content"><ul><li class=" first"><a href="http://m.espn.go.com/general/tennis/dailyresults?date=20130606&matchType=2" name="Return Trip"><img src="http://a.espncdn.com/photo/2013/0606/ten_g_sharapova1x_110.jpg" width="110" height="62" /></a><dl><dt><strong><a href="http://m.espn.go.com/general/tennis/dailyresults?date=20130606&matchType=2" name="&amp;lpos=storyedpicks&amp;lid=Return Trip">Return Trip</a></strong></dt><dd>Live on ESPN2</dd></dl></li><li class=" alt"><a href="http://espn.go.com/tennis/french13/story/_/id/9347918/french-open-sky-high-expectations-jo-wilfried-tsonga" name="The Man Of The Hour"><img src="http://a.espncdn.com/photo/2013/0606/ten_g_tsonga12_110.jpg" width="110" height="62" /></a><dl><dt><strong><a href="http://espn.go.com/tennis/french13/story/_/id/9347918/french-open-sky-high-expectations-jo-wilfried-tsonga" name="&amp;lpos=storyedpicks&amp;lid=The Man Of The Hour">The Man Of The Hour</a></strong></dt><dd>All eyes on Jo-Wilfried Tsonga at the French Open. <BR /><a href="http://espn.go.com/tennis/french13/story/_/id/9347918/french-open-sky-high-expectations-jo-wilfried-tsonga">Garber &#187</a></dd></dl></li><li class=""><a href="http://sports.espn.go.com/sports/tennis/dailyResults" name="The Showdown"><img src="http://a.espncdn.com/photo/2013/0605/ten_g_nadal01jr_110.jpg" width="110" height="62" /></a><dl><dt><strong><a href="http://espn.go.com/tennis/french13/story/_/id/9345618/french-open-stress-free-day-rafael-nadal-novak-djokovic" name="&amp;lpos=storyedpicks&amp;lid=The Showdown">The Showdown</a></strong></dt><dd>Djoker, Nadal win</dd></dl></li></ul><p class="footer"><a href="http://espn.go.com/tennis/">TENNIS Home �</a></p></div></div><!-- END EDITORS' PICKS --><!-- sportIndex: espn --><!-- root: espn --><!-- begin splinks -->
699
+ <div id="sponsored" class="mod-container mod-no-footer">
700
+ <!-- sponsored links: espn:story-right:304w320h--><div style="margin:0px 0px 5px 0px;"><script type="text/javascript">adsonar_placementId=1507488;adsonar_pid=2187780;adsonar_ps=-1;adsonar_zw=304;adsonar_zh=320;adsonar_jv='ads.espn.adsonar.com';</script><script language="JavaScript" src="http://js.adsonar.com/js/adsonar.js"></script></div></div>
701
+ <!-- end splinks -->
702
+ </div>
703
+ <!--end column 2 -->
704
+ <!-- begin bottom nav -->
705
+ <!-- begin bottom nav/sitemap -->
706
+ <div class="mod-container mod-jump-menu span-6">
707
+ <div class="mod-content">
708
+ <!-- NOVALIDATE -->
709
+ <ul>
710
+ <li>
711
+ <ul>
712
+ <li><h4><a href="http://espn.go.com/sports/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores">SPORTS</a></h4></li>
713
+ <li><a href="http://espn.go.com/nfl/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_nfl">NFL</a></li>
714
+ <li><a href="http://espn.go.com/mlb/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_mlb">MLB</a></li>
715
+ <li><a href="http://espn.go.com/nba/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_nba">NBA</a></li>
716
+ <li><a href="http://espn.go.com/nhl/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_nhl">NHL</a></li>
717
+ <li><a href="http://espn.go.com/college-football/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_ncf">College Football</a></li>
718
+ <li><a href="http://espn.go.com/mens-college-basketball/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_ncb">College Basketball</a></li>
719
+ <li><a href="http://soccernet.espn.go.com/index" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_soccer">Soccer</a></li>
720
+ <li><a href="http://espn.go.com/racing/nascar/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_scores_nascar">NASCAR</a></li>
721
+ </ul>
722
+ </li>
723
+ <li>
724
+ <ul>
725
+ <li><h4><a href="http://espn.go.com/sports/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports">MORE</a></h4></li>
726
+ <li><a href="http://espn.go.com/racing/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_racing">Racing</a></li>
727
+ <li><a href="http://espn.go.com/golf/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_golf">Golf</a></li>
728
+ <li><a href="http://espn.go.com/tennis/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_tennis">Tennis</a></li>
729
+ <li><a href="http://espn.go.com/boxing/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_boxing">Boxing</a></li>
730
+ <li><a href="http://espn.go.com/mma/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_mma">MMA</a></li>
731
+ <li><a href="http://espn.go.com/college-football/recruiting/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_recruiting">Recruiting</a></li>
732
+ <li><a href="http://espn.go.com/olympics/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_oly">Olympic Sports</a></li>
733
+ <li><a href="http://espn.go.com/horse-racing/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sports_horse">Horse Racing</a></li>
734
+ </ul>
735
+ </li>
736
+ <li>
737
+ <ul>
738
+ <li><h4><a href="http://games.espn.go.com/frontpage" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_fantasy">FANTASY</a></h4></li>
739
+ <li><a href="http://games.espn.go.com/frontpage/football" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_fantasy_football">Football</a></li>
740
+ <li><a href="http://games.espn.go.com/frontpage/baseball" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_fantasy_baseball">Baseball</a></li>
741
+ <li><a href="http://streak.espn.go.com" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_fantasy_streak">Streak for the Cash</a></li>
742
+ </ul>
743
+ <ul>
744
+ <li><h4><a href="http://espn.go.com/sportsnation/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sportsnation">SPORTSNATION</a></h4></li>
745
+ <li><a href="http://espn.go.com/sportsnation/polls" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sportsnation_polls">Polls</a></li>
746
+ <li><a href="http://espn.go.com/sportsnation/chats" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sportsnation_chats">Chats</a></li>
747
+ <li><a href="http://espn.go.com/community/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sportsnation_community">Community</a></li>
748
+ </ul>
749
+ </li>
750
+ <li>
751
+ <ul>
752
+ <li><h4><a href="http://espn.go.com/video/">VIDEO</a></h4></li>
753
+ <li><a href="http://espn.go.com/video/category?id=2378529" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_video_mostrecent">Most Recent</a></li>
754
+ <li><a href="http://search.espn.go.com/highlights/video/6" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_video_highlights">Highlights</a></li>
755
+ </ul>
756
+ <ul>
757
+ <li><h4>MORE</h4></li>
758
+ <li><a href="http://espn.go.com/blog/playbook/sounds/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_music">Music</a></li>
759
+ <li><a href="http://travel.espn.go.com/travel/passport/index" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_thelife_passport">Sports Passport</a></li>
760
+ <li><a href="http://espn.go.com/travel/sports/calendar/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_thelife_calendar">Sports Calendar</a></li>
761
+ <li><a href="http://espn.go.com/free-online-games/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_thelife_arcade">Arcade</a></li>
762
+ <li><a href="http://sports.espn.go.com/espn/contests/index" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_thelife_contests">Contests</a></li>
763
+ </ul>
764
+ </li>
765
+ <li>
766
+ <ul>
767
+ <li><h4>TOOLS</h4></li>
768
+ <li><a href="http://sports.espn.go.com/espn/news/story?page=contact/index" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_contactus">Contact Us</a></li>
769
+ <li><a tref="/members/v3_1/index" href="" class="cbOverlay" data-options='{"language":"en","width":"825","height":"425"}'>Member Services</a></li>
770
+ <li><a href="http://espn.go.com/personalization/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_myespn">myESPN</a></li>
771
+ <li><a href="http://proxy.espn.go.com/mobile/alerts/alertmanager" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_myespn">ESPN Alerts</a></li>
772
+ <li><a href="http://developer.espn.com/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_developer">Developer Center</a></li>
773
+ <li><a href="http://espn.go.com/espn/corrections" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_corrections">Corrections</a></li>
774
+ <li><a href="http://sports.espn.go.com/nfl/lines" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_dailyline">Daily Line</a></li>
775
+ <li><a href="http://sports.espn.go.com/espn/news/story?page=rssinfo" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tools_rss">RSS</a></li>
776
+ </ul>
777
+ </li>
778
+ <li class="last">
779
+ <ul>
780
+ <li><h4><a href="http://sports.espn.go.com/espntv/espnGuide" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_tv">TV LISTINGS</a></h4></li>
781
+ <li><h4><a href="http://www.espn3.com" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_3">WatchESPN</a></h4></li>
782
+ <li><h4><a href="http://espnradio.espn.go.com/espnradio/index" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_radio">RADIO</a></h4></li>
783
+ <!--<li><h4><a href="http://espnradio.espn.go.com/espnradio/podcast/index" name="&amp;lpos=bottomnav2&amp;lid=podcenter">PODCENTER</a></h4></li>-->
784
+
785
+ <li><h4><a href="http://insider.espn.go.com/insider/espn-the-magazine/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_mag">ESPN THE MAGAZINE</a></h4></li>
786
+ <li><h4><a href="http://log.go.com/log?srvc=sz&amp;guid=20547CF2-0B36-404D-81D3-E5339A6CEFBE&amp;drop=0&amp;addata=3374:65:478847:65&amp;a=1&amp;goto=http://www.espnshop.com/" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_shop">SHOP</a></h4></li>
787
+ <li><h4><a href="http://www.sportscenter.com" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_sportscenter">SPORTSCENTER</a></h4></li>
788
+ <li><h4><a href="http://www.teamespn.com" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_teamespn">TEAM ESPN</a></h4></li>
789
+ <li><h4><a href="http://www.espnfrontrow.com" name="&amp;lpos=bottomnav2&amp;lid=bottomnav2_espnfrontrow">ESPN FRONT ROW</a></h4></li>
790
+ </ul>
791
+ </li>
792
+ </ul>
793
+ </div>
794
+ </div>
795
+ <!-- end bottom nav/sitemap -->
796
+ <!-- end bottom nav -->
797
+ </div>
798
+ <div id="nav-wrapper" class="container">
799
+ <div id="nav-wrapper-container">
800
+ <div id="nav-main">
801
+ <!-- begin site nav -->
802
+ <ul class="top">
803
+ <!-- begin site nav -->
804
+ <p><!-- begin site nav --></p>
805
+ <ul class="top" id="nav-main-list"><!-- start: Menuitem :: MyTAB -->
806
+ <li class="last myespn" id="menu-myespn"><a class="myespn" ref="#">MyESPN</a></li>
807
+ <!-- start: Menuitem :: NFL -->
808
+ <li class="sport-menu default t-nfl" data-sportid="28" id="menu-nfl"><a href="http://espn.go.com/nfl/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_nfl">NFL</a></li>
809
+ <!-- start: Menuitem :: MLB -->
810
+ <li class="sport-menu default t-mlb" data-sportid="10" id="menu-mlb"><a href="http://espn.go.com/mlb/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_mlb">MLB</a></li>
811
+ <!-- start: Menuitem :: NBA -->
812
+ <li class="sport-menu default t-nba" data-sportid="46" id="menu-nba"><a href="http://espn.go.com/nba/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_nba">NBA</a></li>
813
+ <!-- start: Menuitem :: NHL -->
814
+ <li class="sport-menu default t-nhl" data-sportid="90" id="menu-nhl"><a href="http://espn.go.com/nhl/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_nhl">NHL</a></li>
815
+ <!-- start: Menuitem :: NCAA FB -->
816
+ <li class="sport-menu default t-ncf" data-sportid="23" id="menu-ncf"><a href="http://espn.go.com/college-football/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_ncf">NCAAF</a></li>
817
+ <!-- start: Menuitem :: NCAA BB -->
818
+ <li class="sport-menu default t-ncb" data-sportid="41" id="menu-ncb"><a href="http://espn.go.com/mens-college-basketball/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_ncb">NCAAM</a></li>
819
+ <!-- start: Menuitem :: NASCAR -->
820
+ <li class="sport-menu default t-nascar" data-sportid="2020" id="menu-nascar"><a href="http://espn.go.com/racing/nascar/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_nascar">NASCAR</a></li>
821
+ <!-- start: Menuitem :: SOCCER -->
822
+ <li class="sport-menu default t-soccer" data-sportid="600" id="menu-soccer"><a href="http://espnfc.com/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_soccer">SOCCER</a></li>
823
+ <!-- start: Menuitem :: GOLF -->
824
+ <li class="sport-menu t-golf" data-sportid="1106" id="menu-golf" style="display: none;"><a href="http://espn.go.com/golf/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_golfl">GOLF</a></li>
825
+ <!-- start: Menuitem :: TENNIS -->
826
+ <li class="sport-menu t-tennis selected" data-sportid="850" id="menu-tennis" style="display: none;"><a href="http://espn.go.com/tennis/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_tennis">TENNIS</a></li>
827
+ <!-- start: Menuitem :: BOXING-->
828
+ <li class="sport-menu t-boxing" data-sportid="1000" id="menu-boxing" style="display: none;"><a href="http://espn.go.com/boxing/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_boxing">BOXING</a></li>
829
+ <!-- start: Menuitem :: MMA -->
830
+ <li class="sport-menu t-mma" data-sportid="3301" id="menu-mma" style="display: none;"><a href="http://espn.go.com/mma/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_mma">MMA</a></li>
831
+ <!-- start: Menuitem :: ALL SPORTS -->
832
+ <li class="nav-allsports t-allsports" id="menu-allsports"><a href="http://espn.go.com/sports/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_allsports">MORE SPORTS</a></li>
833
+ <!-- start: Menuitem :: INSIDER -->
834
+ <li class="sport-menu t-insider" id="menu-insider" style="display: none;"><a href="http://insider.espn.go.com/insider/index" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_insider">INSIDER</a></li>
835
+ <!-- start: Menuitem :: SPORTSNATION -->
836
+ <li class="sport-menu t-sportsnation" id="menu-sportsnation" style="display: none;"><a href="http://espn.go.com/sportsnation/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_sportsnation">SN</a></li>
837
+ <!-- start: Menuitem :: RADIO & MORE -->
838
+ <li class="right-menu two-line last t-radio" id="menu-radio"><a href="http://espn.go.com/espnradio/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_radioandmore">RADIO<span>&amp; MORE</span></a></li>
839
+ <!-- start: Menuitem :: espnW & PLAYBOOK -->
840
+ <li class="right-menu two-line t-page2" id="menu-page2"><a href="http://espn.go.com/espnw/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_espnwandxgames" target="_blank">espnW<span>&amp; X GAMES</span></a></li>
841
+ <!-- start: Menuitem :: FANTASY & GAMES -->
842
+ <li class="right-menu two-line t-fantasy" id="menu-fantasy"><a href="http://games.espn.go.com/frontpage" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_fantasy">FANTASY<span>&amp; GAMES</span></a></li>
843
+ <!-- start: Menuitem :: WATCH -->
844
+ <li class="right-menu t-watch" id="menu-watch"><a href="http://espn.go.com/video/" name="&amp;lpos=sitenavdefault&amp;lid=sitenav_watch">WATCH</a></li>
845
+ </ul>
846
+ <!-- end site nav -->
847
+ <!-- end site nav -->
848
+ </ul>
849
+ <!-- end site nav -->
850
+ </div>
851
+ <div class="nav-main-secondary">
852
+ <!--/tennis/french13/story--><ul>
853
+ <li><a href="http://espn.go.com/tennis/" name="&lpos=subnav&lid=subnav_Tennis_Tennis+Home">Tennis Home</a></li><li><a href="http://sports.espn.go.com/sports/tennis/dailyResults" name="&lpos=subnav&lid=subnav_Tennis_Scores">Scores</a></li><li><a href="http://sports.espn.go.com/sports/tennis/schedule" name="&lpos=subnav&lid=subnav_Tennis_Schedule+and+Results">Schedule/Results</a></li><li><a href="http://sports.espn.go.com/sports/tennis/players" name="&lpos=subnav&lid=subnav_Tennis_Players">Players</a></li><li><a href="http://sports.espn.go.com/espntv/espnTopics?topic=ESPN_Tennis3" name="&lpos=subnav&lid=subnav_Tennis_TV">TV </a></li><li><a href="http://espn.go.com/sports/tennis/topics/_/page/australian-open">Aussie Open</a></li><li><a href="http://sports.espn.go.com/sports/tennis/rankings" name="&lpos=subnav&lid=subnav_Tennis_Rankings">Rankings</a></li><li><a href="http://sports.espn.go.com/sports/tennis/history?type=men" name="&lpos=subnav&lid=subnav_Tennis_Grand+Slam+History">Grand Slam History</a></li><!--<li><a href="http://www.usopenseries.com/home/default.sps" rel="nofollow" target="_blank" name="&lpos=subnav&lid=subnav_Tennis_U.S.+Open+Series" target="_new">U.S. Open Series</a></li>--><li><a href="http://www.usopen.org/home/default.sps" rel="nofollow" class="external" target="_blank" name="&lpos=subnav&lid=subnav_Tennis_U.S.+Open">U.S. Open</a></li><li><a href="http://www.tennis.com/" rel="nofollow" class="external" target="_blank" name="&lpos=subnav&lid=subnav_Tennis_U.S.+Open">Tennis.com</a></li><li><a href="http://sports.espn.go.com/espn/wire?sportId=850" name="&lpos=subnav&lid=subnav_Tennis_News+Wire">News Wire</a></li><li><a href="http://espn.go.com/community/forums/_/category/more/tennis" name="&lpos=subnav&lid=subnav_Tennis_Forums">Forums</a></li>
854
+ </ul>
855
+ </div>
856
+ </div>
857
+ </div>
858
+ </div>
859
+ <!-- end content -->
860
+ </div>
861
+ <!-- end subheader -->
862
+
863
+ <script>
864
+ espn.core.init.nav();
865
+ espn.insider.checkUserForPromo();
866
+ espn.insider.insiderRedirect();
867
+ </script>
868
+ <!-- begin footer -->
869
+ <div id="footer" class="container">
870
+ <script type="text/javascript">
871
+ //<![CDATA[
872
+ var link = window.location;
873
+ var bugText = '<a href="#" onclick="window.open(\'http://dynamic.espn.go.com/espn/bugs?url=' + escape(link) + '\', \'Bugs\',\'noresizable,noscrollbars,height=400,width=400\');">Report a Bug</a> | ';
874
+ //]]>
875
+ </script>
876
+ <span style="font-weight:bold;">ESPN.com:</span> <a href="http://sports.espn.go.com/espn/news/story?page=help/index">Help</a> | <a href="http://espnmediazone.com/us/" rel="nofollow">Press</a> | <a href="http://www.espncms.com/Advertise-on-ESPN.aspx" rel="nofollow">Advertise on ESPN.com</a> | <a href="http://www.espncms.com" rel="nofollow">Sales Media Kit</a> | <a href="http://preferences.truste.com/2.0/?type=espn&affiliateId=148" onclick="window.open('http://preferences.truste.com/2.0/?type=espn&affiliateId=148','popup','width=986,height=878,scrollbars=yes,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">Interest-Based Ads</a> | <script type="text/javascript">document.write(bugText);</script><a href="http://espn.go.com/espn/corrections">Corrections</a> | <a href="http://sports.espn.go.com/espn/news/story?page=contact/index">Contact Us</a> | <a href="http://espn.go.com/espn/sitemap">Site Map</a> | <a href="http://espn.go.com/espn/news/story?page=patents">Patents</a> | <a href="http://espncareers.com">Jobs at ESPN</a> | <!--a href="http://corporate.disney.go.com/corporate/sourcing.html" rel="nofollow"><span style="font-weight:bold;">Supplier Information</span></a--><a href="http://go.com">Go.com</a><br/>&copy; 2013 ESPN Internet Ventures. <a href="http://disney.go.com/corporate/legal/terms.html" rel="nofollow">Terms of Use</a> and <a href="http://disney.go.com/corporate/privacy/pp_espn.html" rel="nofollow">Privacy Policy and Safety Information/Your California Privacy Rights</a> are applicable to you. All rights reserved.
877
+
878
+ <!--
879
+ <a href="http://www.espnshop.com/" onClick="location.href('http://log.go.com/log?srvc=sz&guid=73B641A0-6660-4EFC-B8FF-9DE23E8CD9BD&drop=0&addata=3374:65:478847:65&a=1&goto=http://www.espnshop.com/');return false">Shop</a>
880
+ -->
881
+ </div>
882
+ <!-- end footer -->
883
+ <!--[if lte IE 8]></div><![endif]-->
884
+ </div>
885
+ <!-- end bg-elements -->
886
+
887
+
888
+ <!-- SiteCatalyst code version: H.21.3 Copyright 1997-2010 Omniture, Inc. http://www.omniture.com -->
889
+ <script type="text/javascript">
890
+ var undef = 'undefined'
891
+ ,s_account="wdgespcom"
892
+ ,omniPageName = "espn:tennis:french13:story:storyid=9340704-garber+sharapova+jankovic+ready+to+duel+"
893
+
894
+ ,insiderStatus = ""
895
+ ,anGen = ""
896
+ ,anYear = ""
897
+ ,anDateString = ""
898
+ ,anLoginStatus = ""
899
+ ,callOmniture = function(){
900
+ /*-- core story s_omni properties --*/
901
+ if (typeof anCV != "undefined"){anParseLoginBarInfo(anCV);}
902
+ s_omni.pageName="tennis:french13:story:storyid=9340704-garber+sharapova+jankovic+ready+to+duel+";
903
+ s_omni.server = window.location.host; // Server from the Host
904
+ s_omni.channel = "tennis";
905
+ s_omni.prop1 = "espn";
906
+ s_omni.prop4 = "story";
907
+ s_omni.prop5 = "tennis:french13";
908
+ s_omni.prop11 = (insiderStatus !== null) ? insiderStatus + ":premium-no" : "premium-no";
909
+ s_omni.prop13 = "espn.com";
910
+ s_omni.prop15 = "storyid=9340704-null-sharapova+jankovic+ready+to+duel+";
911
+ s_omni.prop17 = "en";
912
+ s_omni.prop21 = anDateString;
913
+ s_omni.prop22 = anGen;
914
+ s_omni.prop23 = "garber_greg";
915
+ s_omni.prop25 = "tennis";
916
+ s_omni.prop29 = anLoginStatus;
917
+ s_omni.prop30 = "false";
918
+ s_omni.hier1 = "tennis:french13:story:storyid=9340704-garber+sharapova+jankovic+ready+to+duel+";
919
+ s_omni.eVar7 = anYear + ":" + anGen + ":" + anLoginStatus + ":" + s_omni.prop11 + ":";
920
+ s_omni.eVar9 = "en";
921
+ s_omni.eVar10 = "garber_greg";
922
+ s_omni.eVar13 = "tennis:french13:story:storyid=9340704-garber+sharapova+jankovic+ready+to+duel+";
923
+ s_omni.eVar15 = "storyid=9340704-null-sharapova+jankovic+ready+to+duel+";
924
+ s_omni.eVar19 = "tennis";
925
+
926
+ if (s_omni.prop11=="anonymous:premium-yes" || s_omni.prop11=="insider-no:premium-yes" && typeof s_omni.prop4!="undefined" &&
927
+ (s_omni.prop4=="story" || s_omni.prop4=="blog")) {
928
+ if (typeof s_omni.events != "undefined" && s_omni.events!="") {
929
+ s_omni.events = s_omni.events+",event8" }
930
+ else { s_omni.events="event8" }
931
+ }
932
+ anDebugCase = "ver_15Feb11_0_";
933
+ /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
934
+ var s_code = s_omni.t();
935
+ if(s_code) {
936
+ var sci = new Image(1,1);
937
+ sci.onload = function() {console.log("loaded no append")};
938
+ sci.src = s_code;
939
+ }
940
+ };
941
+
942
+
943
+
944
+ if (typeof(s_omni) === 'undefined') {
945
+ jQuery(function($) {
946
+ // we want to load the analytics files from the cache if possible - so, let's use full $.ajax() calls
947
+ $.ajax({
948
+ type:'GET',
949
+ url: 'http://a.espncdn.com/combiner/c?js=analytics/sOmni.js,analytics/analytics.js,analytics/externalnielsen.js',
950
+ dataType: 'script',
951
+ cache: true,
952
+ success: function() {
953
+ var lgSrc;
954
+ if(typeof anCV !== undef && anCV === '' && document.getElementById('form-memberarea') != null) {
955
+ lgSrc = 'https://r.espn.go.com/members/util/getUserInfo?cb=runOmnitureIndependently';
956
+ $.getScript(lgSrc); // we don't want this to be cached - so we'll use the $.getScript() method
957
+ } else {
958
+ callOmniture();
959
+ }
960
+ }
961
+ });
962
+ });
963
+ }
964
+
965
+
966
+ </script>
967
+ <!-- End SiteCatalyst code version: H.21. -->
968
+
969
+ <!-- Begin comScore Tag -->
970
+ <script type="text/javascript">
971
+ jQuery(function($) {
972
+ if(typeof window._comscore === 'undefined') {
973
+ window._comscore = window._comscore || [];
974
+ window._comscore.push({ c1: "2", c2: "3000005" });
975
+ jQuery.getScript((document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js");
976
+ }
977
+ });
978
+ </script>
979
+ <!-- End comScore Tag -->
980
+ <script>
981
+ var _sf_async_config={
982
+ "uid":22222,
983
+ "domain":"espn.go.com",
984
+ "pingServer":"pespn.chartbeat.net",
985
+ "useCanonical":true,
986
+ "sections":"tennis, tennis:french13",
987
+ "authors":"stories, columnist"
988
+ };
989
+ (function(){function a(){window._sf_endpt=(new Date()).getTime();var c=document.createElement("script");c.setAttribute("language","javascript");c.setAttribute("type","text/javascript");c.setAttribute("src",(("https:"==document.location.protocol)?"https://a248.e.akamai.net/chartbeat.download.akamai.com/102508/":"http://static.chartbeat.com/")+"js/chartbeat.js");document.body.appendChild(c)}var b=window.onload;window.onload=(typeof window.onload!="function")?a:function(){b();a()}})();
990
+ </script>
991
+ <script>
992
+ jQuery.getScriptCache('http://assets.espn.go.com/prod/scripts/foresee/v7/foresee-trigger.js');
993
+ </script>
994
+ <!-- dynamic logic: safecount -->
995
+ <script src="http://content.dl-rms.com/rms/mother/508/nodetag.js"></script>
996
+
997
+ <script type="text/javascript" charset="UTF-8">(function(){function c(n){var k=document.cookie,s,e,l="length";if(k[l]>0){s=k.indexOf(n+"=");if(s!=-1){ s=s+n[l]+1;e=k.indexOf(";",s);if(e==-1)e=k[l];return unescape(k.substring(s,e));}}return"";}var a=c("releaseCandidate")=="true";this.ESPN_GLOBALS={pageType:"story",videoPlayers:{story09:{height:324,width:576,autostart:"true",playerType:!!a?"newskin_index09_dev":"story09"}}}})();</script>
998
+ <script type="text/javascript" charset="utf-8">buildOutHeadlinesForPinnedSite();</script>
999
+ <script type="text/javascript">
1000
+ var isInIFrame = (window.location != window.parent.location) ? true : false;
1001
+ if(isInIFrame){ if(document.referrer){ if(document.referrer.indexOf(".go.com")==-1){ top.location.href=self.location.href; } } }
1002
+ </script>
1003
+ </body>
1004
+ </html>