From 2a49046ff09d4bb3145c54102abddcddb2cbcb69 Mon Sep 17 00:00:00 2001 From: "Nguyen Anh Tuan, Tony" Date: Tue, 27 Jan 2015 06:57:12 +0800 Subject: [PATCH] TN: Copy Andrew work over to the landing folder. Integrate Angular to here --- .../petclinic/util/CallMonitoringAspect.java | 186 ++++---- src/main/resources/logback.xml | 46 +- src/main/webapp/landing/58f9eaa9.favicon.ico | Bin 0 -> 15086 bytes src/main/webapp/landing/discover.html | 280 ++++++++++++ src/main/webapp/landing/index.html | 398 ++++++++++++++++++ src/main/webapp/landing/robots.txt | 3 + .../webapp/landing/scripts/5987e2ba.vendor.js | 4 + .../webapp/landing/scripts/b6c3df09.main.js | 1 + src/main/webapp/landing/show.html | 218 ++++++++++ .../webapp/landing/styles/d588b099.main.css | 1 + 10 files changed, 1021 insertions(+), 116 deletions(-) create mode 100644 src/main/webapp/landing/58f9eaa9.favicon.ico create mode 100644 src/main/webapp/landing/discover.html create mode 100644 src/main/webapp/landing/index.html create mode 100644 src/main/webapp/landing/robots.txt create mode 100644 src/main/webapp/landing/scripts/5987e2ba.vendor.js create mode 100644 src/main/webapp/landing/scripts/b6c3df09.main.js create mode 100644 src/main/webapp/landing/show.html create mode 100644 src/main/webapp/landing/styles/d588b099.main.css diff --git a/src/main/java/org/springframework/samples/petclinic/util/CallMonitoringAspect.java b/src/main/java/org/springframework/samples/petclinic/util/CallMonitoringAspect.java index 096f441d8..425529356 100644 --- a/src/main/java/org/springframework/samples/petclinic/util/CallMonitoringAspect.java +++ b/src/main/java/org/springframework/samples/petclinic/util/CallMonitoringAspect.java @@ -1,93 +1,93 @@ -/* - * Copyright 2002-2013 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.samples.petclinic.util; - -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.springframework.jmx.export.annotation.ManagedAttribute; -import org.springframework.jmx.export.annotation.ManagedOperation; -import org.springframework.jmx.export.annotation.ManagedResource; -import org.springframework.util.StopWatch; - -/** - * Simple aspect that monitors call count and call invocation time. It uses JMX annotations and therefore can be - * monitored using any JMX console such as the jConsole - * - * @author Rob Harrop - * @author Juergen Hoeller - * @author Michael Isvy - * @since 2.5 - */ -@ManagedResource("petclinic:type=CallMonitor") -@Aspect -public class CallMonitoringAspect { - - private boolean enabled = true; - - private int callCount = 0; - - private long accumulatedCallTime = 0; - - - @ManagedAttribute - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - @ManagedAttribute - public boolean isEnabled() { - return enabled; - } - - @ManagedOperation - public void reset() { - this.callCount = 0; - this.accumulatedCallTime = 0; - } - - @ManagedAttribute - public int getCallCount() { - return callCount; - } - - @ManagedAttribute - public long getCallTime() { - return (this.callCount > 0 ? this.accumulatedCallTime / this.callCount : 0); - } - - - @Around("within(@org.springframework.stereotype.Repository *)") - public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable { - if (this.enabled) { - StopWatch sw = new StopWatch(joinPoint.toShortString()); - - sw.start("invoke"); - try { - return joinPoint.proceed(); - } finally { - sw.stop(); - synchronized (this) { - this.callCount++; - this.accumulatedCallTime += sw.getTotalTimeMillis(); - } - } - } else { - return joinPoint.proceed(); - } - } - -} +/* + * Copyright 2002-2013 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.samples.petclinic.util; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.jmx.export.annotation.ManagedAttribute; +import org.springframework.jmx.export.annotation.ManagedOperation; +import org.springframework.jmx.export.annotation.ManagedResource; +import org.springframework.util.StopWatch; + +/** + * Simple aspect that monitors call count and call invocation time. It uses JMX annotations and therefore can be + * monitored using any JMX console such as the jConsole + * + * @author Rob Harrop + * @author Juergen Hoeller + * @author Michael Isvy + * @since 2.5 + */ +//@ManagedResource("petclinic:type=CallMonitor") +@Aspect +public class CallMonitoringAspect { + + private boolean enabled = true; + + private int callCount = 0; + + private long accumulatedCallTime = 0; + + + @ManagedAttribute + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + @ManagedAttribute + public boolean isEnabled() { + return enabled; + } + + @ManagedOperation + public void reset() { + this.callCount = 0; + this.accumulatedCallTime = 0; + } + + @ManagedAttribute + public int getCallCount() { + return callCount; + } + + @ManagedAttribute + public long getCallTime() { + return (this.callCount > 0 ? this.accumulatedCallTime / this.callCount : 0); + } + + + @Around("within(@org.springframework.stereotype.Repository *)") + public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable { + if (this.enabled) { + StopWatch sw = new StopWatch(joinPoint.toShortString()); + + sw.start("invoke"); + try { + return joinPoint.proceed(); + } finally { + sw.stop(); + synchronized (this) { + this.callCount++; + this.accumulatedCallTime += sw.getTotalTimeMillis(); + } + } + } else { + return joinPoint.proceed(); + } + } + +} diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 751726a14..f1d4d2355 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -1,23 +1,23 @@ - - - - - true - - - - - - - - %-5level %logger{0} - %msg%n - - - - - - - - - - + + + + + true + + + + + + + + %-5level %logger{0} - %msg%n + + + + + + + + + + diff --git a/src/main/webapp/landing/58f9eaa9.favicon.ico b/src/main/webapp/landing/58f9eaa9.favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..73961b1aacea75c71e1062e141f8aff96b578127 GIT binary patch literal 15086 zcmd^GSyvp#749782lyrLdPvU6qwx zB+E#)EM!@c00DwwXCwpDcgVw*t%1_TWIHZViwe${kS(^E}XPq$EXT;~*B-BVR} zsayBny0_4@uW1iy4?nEYbC34i*EQ|Cnx^g9qrZPi-%rxFy?eLbzolv4`-Y}{oBGgC zG(!JQ4^5+f*78x|V^xO=_9t8W3Yk&D(H3^(;*S{pwo^@FEY(DI!4KG#&XdM)7LE0> zVrjClAN+Q@>bGopb(W6@9y5z$Y;typjT0?{W7pVaqVLo4=cIESB06)+ zo?@|u5t9ej#wOcjlXDSPQ2(ZMj-$mtW1~|cb69k`mtF76XI(=9Ha&ma{Eqgi$`{h+ zIDGMktbeq@>~~|Zl=Bs|kHm=43wCCKr`ka` z_#ugWW)qI!?M7ma_uELsS!BGG^^aWT>uAUpp25ys3H|%ond(>A%G#U>$J$6F*I8(| zh8@53OHP-FKV;yO(qFNgk!lv1XydQ}A9X0&%sPk4Sn0KQIo;?hjOBa4cn8nHTe0FB z#(+l4p2Aq{LF`3wPL(#_zgB(V_8od=57kGhLO<~W#bYUi-*>21Qr&<&oeRFo*4CG; zEavYu?Z>$6W#m%lr5VQ=AL>E_maF2-a+`tSzuFYX0E245r8s;KSx7lL-^9(SYtOYWN4& z|3`{`%w<8h1z8*?jJ4Vikv5e!#-G3Zx@ofw*!q)f8h96(&|hqXoa`rW`Zq{?f^ao^#?hh?0gF=T;m-&fcp&d_CA9G zDr_~r$lCjh$@VDBlG+2eU$LFYzd zUDnn7))lT`IYmE7k#mFJvM1K8eW2JJFE$oeVyy7$TO=bdasTNo?MLj14)TM5ldQo1 zgpF6-8?fi~UE4mBI45ZTqUQH3JOBH9KFo=I2RZ`H?{VIU{f#zs_tD~?D)9jG1zO%W z{cd9pJi+UthPO?aR{q@>EEBt%ZSdx7t(xuv{rOkkBpsmpZ000ejjGneQux68V#D7F z$GCL}_aE)XS!n=I^T_90w({j2Y5g(xvEs+s7@aj_h5Om0|7CpB{im30825p#W9;6c!=XE5 zWjxl;&u~^AWaqtsk+fw!^HZ{V4ZYVhf{Ux0E*Y)|u+x zDajx30ZkRxv(0l?%48Y5bkccM_Z8I6BYSWoC#JDskA z1LSas^ll#c6Ds>&lmlG{Ji{PsZVLQ1=q>n1(03n~{K7SC0}t4X>b4_X)*3^3^t7*t z9RzRWvP)#=AZPF)behxklrg``6LT1QO!euK*J)=U6})`v1K2nNrs>jM`Ucp0sa8;3 z-zAu!6|ewv??HqI?o$D5#3?95sy#u~j8lA*UL=L^-AA>Y>M~WnW;h2$#@ijY=)&?e zKUcVvO)qi*9D(aTkb)=G9;zvGLMMlY>m2b%Oy*qOs~PJOD_j@vz!|uMmK5Ca4n5i2 zd%+R^BdT!S_;*a>_ zm$iTTzud!Op3;sG#084E4bbBy_mk%$Z0I255uFO+Y4FFPb5qA3;A?_;QtB@46WG+! zYyXzUjIA``?2cR*@?}Qtj#N?}EWppOSG)6g92dR@;)d`~F#o;W^STXqjm0-stmtO+ zo}?J%+WHbh9w!v3)r z^0~-H!&em=gHb_l<(Nhf>=EC9(*tvK5o82r>oci(1&|8hyiy~Uc;!N z;aa+n(n5aJuubkv&Kc;aQxz|IrUCc|=$?iwZ)k;#J0D{H0{RQQLXHNxuj0mkvT(Fj zX)eqS+pq8E%>5wXfSg@?-Ps0&$bQ+aEp!=pfw)`yz$GOb5U)qh(cpvK+&g{OZGc+d z67dTCo{hcSLZ*+?eHNSo#Dg7`B1O-I*b!a{$(%r12fwJd!aVo

E zawIv8op_%5+X24jurE$!etD98R{k5uJqKBWy`7wmI88}$;wa7OF2u9w6`URfalf&p8#G10WZW4=WF3?{@b=L^$v*kbClm|9%GlSEZ=t zl7Nq09!Z3w$CuLYzsdMv_YJVhTaYu-?`w+lTiZ=N=N#o9a8&Wf{PkU*d*VON8TnV< zP|7*s41;sC9WTW1b~$k?Pp(kT->du}XSKX)e^=3f8K(P(M~a;8@~Z1J*nq0m9FO=@ z{+jO6+U30s-0_^486bU|e&15$JJvJM{JxU@hfYAg(F^|p8+Tjna=;?~vx^g4Uqc50 zrdSQV1b-x^cn=6Z1mb{ReNp7y2gjO4RHbd$fRd(n2Lb()Y@gwvda=S~bv6PCt-gfs+#PMPqcVZxCUS$XLVh$C3EyDNO zMvfZ(svqZJ$S&?BKp*Tzf#0L*i>SyG@Q3`mm4QrXMQ$IkyzW_%F38W>+CO@_x8Otz z&Um;ZjJ%28@htE{zr*D2-h&g)_#JDCvvVEYQ_$~4`kxB~KaO8|f{jh}GWdk}-vGB2 zwkS?_24Tlx3&CsXQ^cG0>>b=6*he+=fZ)sb`xdUi*|>x9 s2(<%L9|T##eGTCH2=31W@#i5;JBa6fyRih|UyX7QWD=i)coN_L2M!Uvvj6}9 literal 0 HcmV?d00001 diff --git a/src/main/webapp/landing/discover.html b/src/main/webapp/landing/discover.html new file mode 100644 index 000000000..b7bf14900 --- /dev/null +++ b/src/main/webapp/landing/discover.html @@ -0,0 +1,280 @@ + + + + +Pet Clinic - Discover Pet Owners on your Neigborhood + + + + + + + +

+ +
+
+
+
+

Discover Pet Owners

+

Helping you discover pet owners near you and connect.

+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+ Generic placeholder image +
+

Thumbnail + label

+

Even the all-powerful Pointing has no control about the + blind texts it is an almost unorthographic life One day however + a small line of blind text by the name of Lorem Ipsum.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail + label

+

Mountains, she had a last view back on the skyline of her + hometown Bookmarksgrove, the headline of Alphabet Village and + the subline of her own road, the Line Lane.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Even the all-powerful Pointing has no control about the + blind texts it is an almost unorthographic life One day however + a small line of blind text by the name of Lorem Ipsum.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Mountains, she had a last view back on the skyline of her + hometown Bookmarksgrove, the headline of Alphabet Village and + the subline of her own road, the Line Lane.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Even the all-powerful Pointing has no control about the + blind texts it is an almost unorthographic life One day however + a small line of blind text by the name of Lorem Ipsum.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Mountains, she had a last view back on the skyline of her + hometown Bookmarksgrove, the headline of Alphabet Village and + the subline of her own road, the Line Lane.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Even the all-powerful Pointing has no control about the + blind texts it is an almost unorthographic life One day however + a small line of blind text by the name of Lorem Ipsum.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Mountains, she had a last view back on the skyline of her + hometown Bookmarksgrove, the headline of Alphabet Village and + the subline of her own road, the Line Lane.

+
+
+
+
+
+
+

+ Show More » +

+
+
+
+
+ +
+
+
+
+

+ Over 40,000 pet owners trust us. Register now. It's Free + forever! +

+

Use it as a starting point to create something more unique.

+
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+
+ +
+
+

Business Hours

+

Donec sed odio dui. Etiam porta sem malesuada magna mollis + euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. + Morbi leo risus, porta ac consectetur ac, vestibulum at eros. + Praesent commodo cursus magna.

+
+ +
+

Our Location

+

Duis mollis, est non commodo luctus, nisi erat porttitor + ligula, eget lacinia odio sem nec elit. Cras mattis consectetur + purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, + tortor mauris condimentum nibh.

+
+ +
+

Questions or comments

+

Cras mattis consectetur purus sit amet fermentum.

+

+ Drop us a line +

+
+ +
+ +
+
+ +
+
+

+ Tell your friends: Facebook, Twitter, Google+ +

+

© 2015 Pet Clinic, A Spring Framework Demonstration

+
+
+ + + + \ No newline at end of file diff --git a/src/main/webapp/landing/index.html b/src/main/webapp/landing/index.html new file mode 100644 index 000000000..75ed33ec7 --- /dev/null +++ b/src/main/webapp/landing/index.html @@ -0,0 +1,398 @@ + + + + +Pet Clinic - Home + + + + + + + + + +
+
+
+
+

+ Pet Clinic
A Spring Framework Demonstration +

+

A place to see your neighborhood pet owners

+

+ Get + started - It's Free! +

+
+
+
+
+ +
+
+
+
+
+

Our Veterinarians

+

A small river named Duden flows by their + place and supplies it with the necessary regelialia. It is a + paradisematic country, in which roasted parts of sentences fly + into your mouth.

+
+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Far far away, behind the word mountains, far from the + countries Vokalia and Consonantia, there live the blind texts.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Even the all-powerful Pointing has no control about the + blind texts it is an almost unorthographic life One day however + a small line of blind text by the name of Lorem Ipsum.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Mountains, she had a last view back on the skyline of her + hometown Bookmarksgrove, the headline of Alphabet Village and + the subline of her own road, the Line Lane.

+
+
+
+
+ +
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Even the all-powerful Pointing has no control about the + blind texts it is an almost unorthographic life One day however + a small line of blind text by the name of Lorem Ipsum.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

Mountains, she had a last view back on the skyline of her + hometown Bookmarksgrove, the headline of Alphabet Village and + the subline of her own road, the Line Lane.

+
+
+
+
+
+ Generic placeholder image +
+

Thumbnail label

+

The Big Oxmox advised her not to do so, because there were + thousands of bad Commas, wild Question Marks and devious + Semikoli.

+
+
+
+
+ +
+
+

+ View + More » +

+
+
+
+
+ +
+
+
+
+ Generic placeholder image +
+
+

Services One

+

A small river named Duden flows by their + place and supplies it with the necessary regelialia. It is a + paradisematic country, in which roasted parts of sentences fly + into your mouth.

+

+ Learn more » +

+
+
+
+
+ +
+
+
+
+

Services Two

+

A small river named Duden flows by their + place and supplies it with the necessary regelialia. It is a + paradisematic country, in which roasted parts of sentences fly + into your mouth.

+

+ Learn more » +

+
+
+ Generic placeholder image +
+
+
+
+ +
+
+
+
+ Generic placeholder image +
+
+

Services Three

+

A small river named Duden flows by their + place and supplies it with the necessary regelialia. It is a + paradisematic country, in which roasted parts of sentences fly + into your mouth.

+

+ Learn more » +

+
+
+
+
+ +
+
+
+
+
+

What our customers are saying.

+

Even the all-powerful Pointing has no + control about the blind texts it is an almost unorthographic life + One day however a small line of blind text by the name of Lorem + Ipsum decided to leave for the far World of Grammar.

+
+
+
+
+
+ Generic placeholder image +

Client One

+

Donec sed odio dui. Etiam porta sem malesuada magna mollis + euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. + Morbi leo risus, porta ac consectetur ac, vestibulum at eros. + Praesent commodo cursus magna.

+
+ +
+ Generic placeholder image +

Client Two

+

Duis mollis, est non commodo luctus, nisi erat porttitor + ligula, eget lacinia odio sem nec elit. Cras mattis consectetur + purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, + tortor mauris condimentum nibh.

+
+ +
+ Generic placeholder image +

Client Three

+

Donec sed odio dui. Cras justo odio, dapibus ac facilisis + in, egestas eget quam. Vestibulum id ligula porta felis euismod + semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris + condimentum nibh, ut fermentum massa justo sit amet risus.

+
+ +
+
+
+ +
+
+
+
+
+

Trusted by some of the world's smartest + companies

+
+
+
+
+
+ Companies placeholder image +
+
+ Companies placeholder image +
+
+ Companies placeholder image +
+
+ Companies placeholder image +
+
+ Companies placeholder image +
+
+ Companies placeholder image +
+
+
+
+ +
+
+
+
+

+ Over 40,000 pet owners trust us. Register now. It's Free + forever! +

+

Use it as a starting point to create something more unique.

+
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+
+ +
+
+

Business Hours

+

Donec sed odio dui. Etiam porta sem malesuada magna mollis + euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. + Morbi leo risus, porta ac consectetur ac, vestibulum at eros. + Praesent commodo cursus magna.

+
+ +
+

Our Location

+

Duis mollis, est non commodo luctus, nisi erat porttitor + ligula, eget lacinia odio sem nec elit. Cras mattis consectetur + purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, + tortor mauris condimentum nibh.

+
+ +
+

Questions or comments

+

Cras mattis consectetur purus sit amet fermentum.

+

+ Drop us a line +

+
+ +
+ +
+
+ +
+
+

+ Tell your friends: Facebook, Twitter, Google+ +

+

© 2015 Pet Clinic, A Spring Framework Demonstration

+
+
+ + + + \ No newline at end of file diff --git a/src/main/webapp/landing/robots.txt b/src/main/webapp/landing/robots.txt new file mode 100644 index 000000000..ee2cc216a --- /dev/null +++ b/src/main/webapp/landing/robots.txt @@ -0,0 +1,3 @@ +# robotstxt.org/ + +User-agent: * diff --git a/src/main/webapp/landing/scripts/5987e2ba.vendor.js b/src/main/webapp/landing/scripts/5987e2ba.vendor.js new file mode 100644 index 000000000..3619377a4 --- /dev/null +++ b/src/main/webapp/landing/scripts/5987e2ba.vendor.js @@ -0,0 +1,4 @@ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(hb.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=ob[a]={};return _.each(a.match(nb)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ub,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:tb.test(c)?_.parseJSON(c):c}catch(e){}sb.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Kb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)rb.set(a[c],"globalEval",!b||rb.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(rb.hasData(a)&&(f=rb.access(a),g=rb.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sb.hasData(a)&&(h=sb.access(a),i=_.extend({},h),sb.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&yb.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Ob[a];return c||(c=t(a,b),"none"!==c&&c||(Nb=(Nb||_("