-> Cool, i love low tech solutions. Straight physics, easy to understand and fix, no horror induced by software upgrades :)
Will have to do until we get a firewire camera ( no, I do not have an external isight). Will have to read into
infrared capability, focal distance and depth and angle of view before shelling out the 1000 US$ or so they appear to cost, and transforming a laptop into a Unix machine. You guys like Neurodebian, is that right ?
-> Neurodebian is the most simple way to get things set up for typical use. 1. Install Matlab if you think you really need it, instead of Octave. 2. Install PTB from NeuroDebian. 3. One run of PsychLinuxConfiguration after that, a reboot, and you are set.
-> Here's a list of all cameras known to work with libdc1394 and therefore PTB's dc1394 capture engine, including some useful tips on camera selection:
You would want a camera that is 1394A or 1394B capable (aka Firewire), and IIDC standard compliant. While at least the Linux engine also supports some USB-3 cameras with USBVision standard, that support was less precise (in timing) and more fragile/troublesome/unreliable to get working, needing for quite a bit of tweaking, at least with the one model i tested a few years ago. Things may have changed since then, my memory about details is dim.
-> I'm equally unhappy with any existing OSX version and don't give any guarantees wrt. anything if you use OSX. In general it has become worse with any new osx version. But if you use a AMD graphics card and the Psychtoolboxkerneldriver and PTB doesn't complain about anything, then visual stimulation might be ok. And if not, and your needs for visual stimulus timing precision and integrity are low enough, maybe you are fine, i don't know your specific needs. Wrt. to the firewire capture just try it and see if it works for your purpose or doesn't. It's easy enough to test.
Tudor
---In
PSYCHTOOLBOX@yahoogroups.com,
<tudorcb@...> wrote :
Hi
Mario,
yes we are talking about recording a real live mouse that
runs around in an arena and reacts to Psychtoolbox presented
visual stimuli.
We tried to record him with ImageJ, and that gave about 16 -
20 fps, but more importantly, we did not have a way to
precisely ascertain when the stimulus was presented relative
to the recording (mouse has to be recorded continuously
before, during and after the stimulus presentation).
My thought was that I can design a PTB experiment that will
manage the stimulus as well as the recording and thus
synchronize the animal reaction to the stimulation.
Do you think it can be done with one machine running both
the stimulus presentation on a secondary screen and the
video recording on the main screen? From within the same m
file or separately? I already
-> Yes, one machine will be enough. You
don't need to display the video feed, just to record it,
but if you want to, you can. With a firewire camera (again,
do you already have a firewire based external iSight to test
this out?) you can follow the approach of
VideoMultiCameraCaptureDemo, although that does way more
than what you'd need for recording from only one camera,
and will need removal of lots of code and probably a bit
customization. However the demo is quite close to what
you'd need. E.g, the 'pts' timestamps would
represent capture time quite close to reality (minus a
camera model specific offset between the recorded pts of a
frame and the start of exposure), and the returned
'GetFetchedFramecount' would correspond to the
framecount in the recoded movie file. Iow. you can compare
pts to the presentation timestamp of Screen('Flip')
or log it together with the framecount to find out which
movie frame corresponds to which event in your trial.
E.g., if you edit line 83 to
this
codec = ':CodecType=DEFAULTencoder
UseVFR Videoquality=0.5 Profile=2';
then
it would record video in a format that even Apples toy movie
player can handle. The DC1394 engine can do that, whereas
the standard GStreamer engine currently can't.
know you think I should do it
under Unix but would you gve Mac OS x 10.11.6 or 10.12 a
chance?
In theory the firewire capture engine also
works on OSX, in practice i haven't tried it in years,
so ymmv on current osx versions, depending on if and how
much Apple screwed up their trainwreck in that area.
With regard to the firewire cameras, these are recording an
animal, maybe under infrared, wide angle and reasonable
focal distance so they can capture the entire arena.
-> The engine was tested with a few
models of Basler cameras, one PointGrey FireFly, and a cheap
but charming UniBrain Fire-i. Firewire cameras are at least
in my experience very plug & play, one of the few things
that actuallly worked as advertised by their vendors.
-mario
Thanks,
Tudor
Previous convo:
We played around a little bit with the various
videorecording demos and are indeed able to translate the
saved files encoded with the anec_mpeg4 codec using VLC.
However, it looked like grabbing the isight camera has
some
sort of delay, which was about 5 seconds on a Mac pro and
2
seconds on an iMac. When you run the VideorecordingDemo,
the time elapsed and timestamp differential is indicated
in
the active window. However, if you recover time elapsed
and
various t = Getsec timestamps, the elapsed time is
consistently shorter.
When you open the video in VLC, the initial 5 seconds are
unavailable (you simply cannot move the cursor over to
them).
The maximum frame rate we achieved was about 30 fps, as
expected, but this initial "glitch" is
troublesome.
Tried to record the movie without showing it on screen.
Again, when one analyses the converted movie, the extra
five
seconds are there.
Again Mac OS X 10.11.6 "El Capitan".
Considering getting one of the firewire cameras. Would be
nice to hear what people have used succesfully. This
woudl
be for tracking a (really fast) mouse around an arena, so
forgiving focal depth and wide angle are necessary.
-> Ok, but then you are not talking
about the cheap USB based iSight found in typical Apple
toys, as i assumed, or how would you use that for tracking
a
mouse -- an actual living mouse as your subject, not a
computer mouse? If you talk about one of those old
classic
external iSight's, afaik those are firewire cameras,
no?
So you could give that iSight a try, but with the DC1394
high perf capture and recording engine. Setup
instructions
in "help VideoCaptureDC1394". Use of the DC1394
engine would probably even make it possible to solve the
video transcoding problem in a more elegant way, but
first
things first.
-mario
Thanks,
Tudor
--------------------------------------------
On Sat, 8/12/17, tudor badea tudorcb@...
[PSYCHTOOLBOX] <
PSYCHTOOLBOX@yahoogroups.com>
wrote:
Subject: Re: [PSYCHTOOLBOX] Re: video recording
To:
PSYCHTOOLBOX@yahoogroups.com
Date: Saturday, August 12, 2017, 9:10 PM
Hi Mario,
My ultimate goal is to pass these videos on to a toolbox
for
image analysis, and that one also doesn't see PTB3
encoded movies.
What do you think of the following solution:
I see there is a script recording the video to a matlab
"image" data structure.
"MyVideoCaptureToMatlabDemo"
I presume that is something I can easily pass on to the
videowriter from matlab.
The movies will typically be less than 4 minutes, i.e.
240
x
30 (fps) with my target logitech cam over GStreamer.
Can I "store" the movie in the grabber object,
run
my stimulus and "dazzle the subject", and then
at
the end save the stimulus timing properties,
and separately the video documenting the reaction? I
would
probably use the skeleton of the Video Offline capture
procedure.
thanks,
Tudor
--------------------------------------------
On Sat, 8/12/17, mario.kleiner@...
[PSYCHTOOLBOX] <
PSYCHTOOLBOX@yahoogroups.com>
wrote:
Subject: [PSYCHTOOLBOX] Re: video recording
To:
PSYCHTOOLBOX@yahoogroups.com
Date: Saturday, August 12, 2017, 1:50 PM
XX---In
PSYCHTOOLBOX@yahoogroups.com,
<tudorcb@...> wrote :
Hi,
we are trying to design an
experiment in which we simultaneously present a stimulus
on
a screen and record the reaction of the test subject in
a
videofile.
Initially we used PTB3 for
stimulus presentation and ImageJ for videocapture, but
we
had concerns about the timing of the recording relative
to
stimulus.
We therefore
would like to run both stimulus presentation and
videorecording from within PTB3, benefit from the higher
timing accuracy.
Stimulus
presentation has not been an issue, and we also
succesfully
controlled the isight camera with the videorecording
demo.
However we have issues with opening the videofile. We
tried
the anec_mpeg4 and one other suggested codec, but there
clearly is an issue with the correct encoding.
We attempted to open the video
with quicktime and with ImageJ, at no avail.
We are trying to get this to
work on an iMac 2011 using Mac OS X 10.11.6 El Capitan.
Suggestions?
-> My suggestion would be
to use Linux for the most reliable video
capture/recording
and the most accurate timestamping of recorded video if
that
is an issue. I wouldn't guarantee anything about
timing
precision on OSX. After Apple breaking video capture in
multiple osx releases and me repairing it a couple of
times
or working around new bugs i've given up trying to
make
it reliable. Also the iSight is one of the least
controllable cameras in terms of framerate and
precision.
That's unfortunately due to its firmware, so will
also
affect precision and control under Linux to some smaller
degree if you use an iSight.
For really precise timing you'd need to use
a Firewire camera or USB-3 machine vision camera and
PTB's libdc1394 capture engine, e.g., as shown in
VideoMultiCameraCaptureDemo.m. That allows really pro
level
control over imaging parameters, timing, etc. and also
synchronized multi-camera capture if one needs it. Fully
supported on Linux, used to work ok at least with
Firewire
cameras on OSX, not available on Windows.
The encoding at least of the
standard h264 codec should be fine and standards
compliant.
You will notice that PTB itself can play the movies just
fine. A up to date version of, e.g., VLC, and similar
free
playback software will also not have problems. It's
mostly Apples primitive Quicktime player that can't
play
back anything but the most basic consumer level formats.
Maybe ImageJ also uses Apples Quicktime framework and so
suffers the same limitations?
One solution if you absolutely wanted to use
Quicktime would be to transcode the videos after
recording
into something primitive that Quicktime can understand.
E.g., use VLC for tanscoding, or use PTB's playback
code
to fetch frames from a movie frame by frame, then PTBs
movie
writing code with the setup in ImagingStereoDemo to write
it
out into a new movie file of more primitive format.
-mario
Thanks,
Tudor
#yiv9468519939 #yiv9468519939 --
#yiv9468519939ygrp-mkp {
border:1px solid #d8d8d8;font-family:Arial;margin:10px
0;padding:0 10px;}
#yiv9468519939 #yiv9468519939ygrp-mkp hr {
border:1px solid #d8d8d8;}
#yiv9468519939 #yiv9468519939ygrp-mkp #yiv9468519939hd {
color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}
#yiv9468519939 #yiv9468519939ygrp-mkp #yiv9468519939ads
{
margin-bottom:10px;}
#yiv9468519939 #yiv9468519939ygrp-mkp .yiv9468519939ad {
padding:0 0;}
#yiv9468519939 #yiv9468519939ygrp-mkp .yiv9468519939ad p
{
margin:0;}
#yiv9468519939 #yiv9468519939ygrp-mkp .yiv9468519939ad a
{
color:#0000ff;text-decoration:none;}
#yiv9468519939 #yiv9468519939ygrp-sponsor
#yiv9468519939ygrp-lc {
font-family:Arial;}
#yiv9468519939 #yiv9468519939ygrp-sponsor
#yiv9468519939ygrp-lc #yiv9468519939hd {
margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}
#yiv9468519939 #yiv9468519939ygrp-sponsor
#yiv9468519939ygrp-lc .yiv9468519939ad {
margin-bottom:10px;padding:0 0;}
#yiv9468519939 #yiv9468519939actions {
font-family:Verdana;font-size:11px;padding:10px 0;}
#yiv9468519939 #yiv9468519939activity {
background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}
#yiv9468519939 #yiv9468519939activity span {
font-weight:700;}
#yiv9468519939 #yiv9468519939activity span:first-child {
text-transform:uppercase;}
#yiv9468519939 #yiv9468519939activity span a {
color:#5085b6;text-decoration:none;}
#yiv9468519939 #yiv9468519939activity span span {
color:#ff7900;}
#yiv9468519939 #yiv9468519939activity span
.yiv9468519939underline {
text-decoration:underline;}
#yiv9468519939 .yiv9468519939attach {
clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}
#yiv9468519939 .yiv9468519939attach div a {
text-decoration:none;}
#yiv9468519939 .yiv9468519939attach img {
border:none;padding-right:5px;}
#yiv9468519939 .yiv9468519939attach label {
display:block;margin-bottom:5px;}
#yiv9468519939 .yiv9468519939attach label a {
text-decoration:none;}
#yiv9468519939 blockquote {
margin:0 0 0 4px;}
#yiv9468519939 .yiv9468519939bold {
font-family:Arial;font-size:13px;font-weight:700;}
#yiv9468519939 .yiv9468519939bold a {
text-decoration:none;}
#yiv9468519939 dd.yiv9468519939last p a {
font-family:Verdana;font-weight:700;}
#yiv9468519939 dd.yiv9468519939last p span {
margin-right:10px;font-family:Verdana;font-weight:700;}
#yiv9468519939 dd.yiv9468519939last p
span.yiv9468519939yshortcuts {
margin-right:0;}
#yiv9468519939 div.yiv9468519939attach-table div div a {
text-decoration:none;}
#yiv9468519939 div.yiv9468519939attach-table {
width:400px;}
#yiv9468519939 div.yiv9468519939file-title a,
#yiv9468519939
div.yiv9468519939file-title a:active, #yiv9468519939
div.yiv9468519939file-title a:hover, #yiv9468519939
div.yiv9468519939file-title a:visited {
text-decoration:none;}
#yiv9468519939 div.yiv9468519939photo-title a,
#yiv9468519939 div.yiv9468519939photo-title a:active,
#yiv9468519939 div.yiv9468519939photo-title a:hover,
#yiv9468519939 div.yiv9468519939photo-title a:visited {
text-decoration:none;}
#yiv9468519939 div#yiv9468519939ygrp-mlmsg
#yiv9468519939ygrp-msg p a span.yiv9468519939yshortcuts
{
font-family:Verdana;font-size:10px;font-weight:normal;}
#yiv9468519939 .yiv9468519939green {
color:#628c2a;}
#yiv9468519939 .yiv9468519939MsoNormal {
margin:0 0 0 0;}
#yiv9468519939 o {
font-size:0;}
#yiv9468519939 #yiv9468519939photos div {
float:left;width:72px;}
#yiv9468519939 #yiv9468519939photos div div {
border:1px solid
#666666;min-height:62px;overflow:hidden;width:62px;}
#yiv9468519939 #yiv9468519939photos div label {
color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}
#yiv9468519939 #yiv9468519939reco-category {
font-size:77%;}
#yiv9468519939 #yiv9468519939reco-desc {
font-size:77%;}
#yiv9468519939 .yiv9468519939replbq {
margin:4px;}
#yiv9468519939 #yiv9468519939ygrp-actbar div
a:first-child
{
margin-right:2px;padding-right:5px;}
#yiv9468519939 #yiv9468519939ygrp-mlmsg {
font-size:13px;font-family:Arial, helvetica, clean,
sans-serif;}
#yiv9468519939 #yiv9468519939ygrp-mlmsg table {
font-size:inherit;font:100%;}
#yiv9468519939 #yiv9468519939ygrp-mlmsg select,
#yiv9468519939 input, #yiv9468519939 textarea {
font:99% Arial, Helvetica, clean, sans-serif;}
#yiv9468519939 #yiv9468519939ygrp-mlmsg pre,
#yiv9468519939
code {
font:115% monospace;}
#yiv9468519939 #yiv9468519939ygrp-mlmsg * {
line-height:1.22em;}
#yiv9468519939 #yiv9468519939ygrp-mlmsg
#yiv9468519939logo
{
padding-bottom:10px;}
#yiv9468519939 #yiv9468519939ygrp-msg p a {
font-family:Verdana;}
#yiv9468519939 #yiv9468519939ygrp-msg
p#yiv9468519939attach-count span {
color:#1E66AE;font-weight:700;}
#yiv9468519939 #yiv9468519939ygrp-reco
#yiv9468519939reco-head {
color:#ff7900;font-weight:700;}
#yiv9468519939 #yiv9468519939ygrp-reco {
margin-bottom:20px;padding:0px;}
#yiv9468519939 #yiv9468519939ygrp-sponsor
#yiv9468519939ov
li a {
font-size:130%;text-decoration:none;}
#yiv9468519939 #yiv9468519939ygrp-sponsor
#yiv9468519939ov
li {
font-size:77%;list-style-type:square;padding:6px 0;}
#yiv9468519939 #yiv9468519939ygrp-sponsor
#yiv9468519939ov
ul {
margin:0;padding:0 0 0 8px;}
#yiv9468519939 #yiv9468519939ygrp-text {
font-family:Georgia;}
#yiv9468519939 #yiv9468519939ygrp-text p {
margin:0 0 1em 0;}
#yiv9468519939 #yiv9468519939ygrp-text tt {
font-size:120%;}
#yiv9468519939 #yiv9468519939ygrp-vital ul li:last-child
{
border-right:none !important;
}
#yiv9468519939
#yiv2597684411 #yiv2597684411 --
#yiv2597684411ygrp-mkp {
border:1px solid #d8d8d8;font-family:Arial;margin:10px
0;padding:0 10px;}
#yiv2597684411 #yiv2597684411ygrp-mkp hr {
border:1px solid #d8d8d8;}
#yiv2597684411 #yiv2597684411ygrp-mkp #yiv2597684411hd {
color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}
#yiv2597684411 #yiv2597684411ygrp-mkp #yiv2597684411ads {
margin-bottom:10px;}
#yiv2597684411 #yiv2597684411ygrp-mkp .yiv2597684411ad {
padding:0 0;}
#yiv2597684411 #yiv2597684411ygrp-mkp .yiv2597684411ad p
{
margin:0;}
#yiv2597684411 #yiv2597684411ygrp-mkp .yiv2597684411ad a
{
color:#0000ff;text-decoration:none;}
#yiv2597684411 #yiv2597684411ygrp-sponsor
#yiv2597684411ygrp-lc {
font-family:Arial;}
#yiv2597684411 #yiv2597684411ygrp-sponsor
#yiv2597684411ygrp-lc #yiv2597684411hd {
margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}
#yiv2597684411 #yiv2597684411ygrp-sponsor
#yiv2597684411ygrp-lc .yiv2597684411ad {
margin-bottom:10px;padding:0 0;}
#yiv2597684411 #yiv2597684411actions {
font-family:Verdana;font-size:11px;padding:10px 0;}
#yiv2597684411 #yiv2597684411activity {
background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}
#yiv2597684411 #yiv2597684411activity span {
font-weight:700;}
#yiv2597684411 #yiv2597684411activity span:first-child {
text-transform:uppercase;}
#yiv2597684411 #yiv2597684411activity span a {
color:#5085b6;text-decoration:none;}
#yiv2597684411 #yiv2597684411activity span span {
color:#ff7900;}
#yiv2597684411 #yiv2597684411activity span
.yiv2597684411underline {
text-decoration:underline;}
#yiv2597684411 .yiv2597684411attach {
clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}
#yiv2597684411 .yiv2597684411attach div a {
text-decoration:none;}
#yiv2597684411 .yiv2597684411attach img {
border:none;padding-right:5px;}
#yiv2597684411 .yiv2597684411attach label {
display:block;margin-bottom:5px;}
#yiv2597684411 .yiv2597684411attach label a {
text-decoration:none;}
#yiv2597684411 blockquote {
margin:0 0 0 4px;}
#yiv2597684411 .yiv2597684411bold {
font-family:Arial;font-size:13px;font-weight:700;}
#yiv2597684411 .yiv2597684411bold a {
text-decoration:none;}
#yiv2597684411 dd.yiv2597684411last p a {
font-family:Verdana;font-weight:700;}
#yiv2597684411 dd.yiv2597684411last p span {
margin-right:10px;font-family:Verdana;font-weight:700;}
#yiv2597684411 dd.yiv2597684411last p
span.yiv2597684411yshortcuts {
margin-right:0;}
#yiv2597684411 div.yiv2597684411attach-table div div a {
text-decoration:none;}
#yiv2597684411 div.yiv2597684411attach-table {
width:400px;}
#yiv2597684411 div.yiv2597684411file-title a,
#yiv2597684411
div.yiv2597684411file-title a:active, #yiv2597684411
div.yiv2597684411file-title a:hover, #yiv2597684411
div.yiv2597684411file-title a:visited {
text-decoration:none;}
#yiv2597684411 div.yiv2597684411photo-title a,
#yiv2597684411 div.yiv2597684411photo-title a:active,
#yiv2597684411 div.yiv2597684411photo-title a:hover,
#yiv2597684411 div.yiv2597684411photo-title a:visited {
text-decoration:none;}
#yiv2597684411 div#yiv2597684411ygrp-mlmsg
#yiv2597684411ygrp-msg p a span.yiv2597684411yshortcuts {
font-family:Verdana;font-size:10px;font-weight:normal;}
#yiv2597684411 .yiv2597684411green {
color:#628c2a;}
#yiv2597684411 .yiv2597684411MsoNormal {
margin:0 0 0 0;}
#yiv2597684411 o {
font-size:0;}
#yiv2597684411 #yiv2597684411photos div {
float:left;width:72px;}
#yiv2597684411 #yiv2597684411photos div div {
border:1px solid
#666666;min-height:62px;overflow:hidden;width:62px;}
#yiv2597684411 #yiv2597684411photos div label {
color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}
#yiv2597684411 #yiv2597684411reco-category {
font-size:77%;}
#yiv2597684411 #yiv2597684411reco-desc {
font-size:77%;}
#yiv2597684411 .yiv2597684411replbq {
margin:4px;}
#yiv2597684411 #yiv2597684411ygrp-actbar div
a:first-child
{
margin-right:2px;padding-right:5px;}
#yiv2597684411 #yiv2597684411ygrp-mlmsg {
font-size:13px;font-family:Arial, helvetica, clean,
sans-serif;}
#yiv2597684411 #yiv2597684411ygrp-mlmsg table {
font-size:inherit;font:100%;}
#yiv2597684411 #yiv2597684411ygrp-mlmsg select,
#yiv2597684411 input, #yiv2597684411 textarea {
font:99% Arial, Helvetica, clean, sans-serif;}
#yiv2597684411 #yiv2597684411ygrp-mlmsg pre,
#yiv2597684411
code {
font:115% monospace;}
#yiv2597684411 #yiv2597684411ygrp-mlmsg * {
line-height:1.22em;}
#yiv2597684411 #yiv2597684411ygrp-mlmsg
#yiv2597684411logo
{
padding-bottom:10px;}
#yiv2597684411 #yiv2597684411ygrp-msg p a {
font-family:Verdana;}
#yiv2597684411 #yiv2597684411ygrp-msg
p#yiv2597684411attach-count span {
color:#1E66AE;font-weight:700;}
#yiv2597684411 #yiv2597684411ygrp-reco
#yiv2597684411reco-head {
color:#ff7900;font-weight:700;}
#yiv2597684411 #yiv2597684411ygrp-reco {
margin-bottom:20px;padding:0px;}
#yiv2597684411 #yiv2597684411ygrp-sponsor
#yiv2597684411ov
li a {
font-size:130%;text-decoration:none;}
#yiv2597684411 #yiv2597684411ygrp-sponsor
#yiv2597684411ov
li {
font-size:77%;list-style-type:square;padding:6px 0;}
#yiv2597684411 #yiv2597684411ygrp-sponsor
#yiv2597684411ov
ul {
margin:0;padding:0 0 0 8px;}
#yiv2597684411 #yiv2597684411ygrp-text {
font-family:Georgia;}
#yiv2597684411 #yiv2597684411ygrp-text p {
margin:0 0 1em 0;}
#yiv2597684411 #yiv2597684411ygrp-text tt {
font-size:120%;}
#yiv2597684411 #yiv2597684411ygrp-vital ul li:last-child
{
border-right:none !important;
}
#yiv2597684411
#yiv2244303111 #yiv2244303111 --
#yiv2244303111ygrp-mkp {
border:1px solid #d8d8d8;font-family:Arial;margin:10px
0;padding:0 10px;}
#yiv2244303111 #yiv2244303111ygrp-mkp hr {
border:1px solid #d8d8d8;}
#yiv2244303111 #yiv2244303111ygrp-mkp #yiv2244303111hd {
color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}
#yiv2244303111 #yiv2244303111ygrp-mkp #yiv2244303111ads {
margin-bottom:10px;}
#yiv2244303111 #yiv2244303111ygrp-mkp .yiv2244303111ad {
padding:0 0;}
#yiv2244303111 #yiv2244303111ygrp-mkp .yiv2244303111ad p
{
margin:0;}
#yiv2244303111 #yiv2244303111ygrp-mkp .yiv2244303111ad a
{
color:#0000ff;text-decoration:none;}
#yiv2244303111 #yiv2244303111ygrp-sponsor
#yiv2244303111ygrp-lc {
font-family:Arial;}
#yiv2244303111 #yiv2244303111ygrp-sponsor
#yiv2244303111ygrp-lc #yiv2244303111hd {
margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}
#yiv2244303111 #yiv2244303111ygrp-sponsor
#yiv2244303111ygrp-lc .yiv2244303111ad {
margin-bottom:10px;padding:0 0;}
#yiv2244303111 #yiv2244303111actions {
font-family:Verdana;font-size:11px;padding:10px 0;}
#yiv2244303111 #yiv2244303111activity {
background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}
#yiv2244303111 #yiv2244303111activity span {
font-weight:700;}
#yiv2244303111 #yiv2244303111activity span:first-child {
text-transform:uppercase;}
#yiv2244303111 #yiv2244303111activity span a {
color:#5085b6;text-decoration:none;}
#yiv2244303111 #yiv2244303111activity span span {
color:#ff7900;}
#yiv2244303111 #yiv2244303111activity span
.yiv2244303111underline {
text-decoration:underline;}
#yiv2244303111 .yiv2244303111attach {
clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}
#yiv2244303111 .yiv2244303111attach div a {
text-decoration:none;}
#yiv2244303111 .yiv2244303111attach img {
border:none;padding-right:5px;}
#yiv2244303111 .yiv2244303111attach label {
display:block;margin-bottom:5px;}
#yiv2244303111 .yiv2244303111attach label a {
text-decoration:none;}
#yiv2244303111 blockquote {
margin:0 0 0 4px;}
#yiv2244303111 .yiv2244303111bold {
font-family:Arial;font-size:13px;font-weight:700;}
#yiv2244303111 .yiv2244303111bold a {
text-decoration:none;}
#yiv2244303111 dd.yiv2244303111last p a {
font-family:Verdana;font-weight:700;}
#yiv2244303111 dd.yiv2244303111last p span {
margin-right:10px;font-family:Verdana;font-weight:700;}
#yiv2244303111 dd.yiv2244303111last p
span.yiv2244303111yshortcuts {
margin-right:0;}
#yiv2244303111 div.yiv2244303111attach-table div div a {
text-decoration:none;}
#yiv2244303111 div.yiv2244303111attach-table {
width:400px;}
#yiv2244303111 div.yiv2244303111file-title a,
#yiv2244303111
div.yiv2244303111file-title a:active, #yiv2244303111
div.yiv2244303111file-title a:hover, #yiv2244303111
div.yiv2244303111file-title a:visited {
text-decoration:none;}
#yiv2244303111 div.yiv2244303111photo-title a,
#yiv2244303111 div.yiv2244303111photo-title a:active,
#yiv2244303111 div.yiv2244303111photo-title a:hover,
#yiv2244303111 div.yiv2244303111photo-title a:visited {
text-decoration:none;}
#yiv2244303111 div#yiv2244303111ygrp-mlmsg
#yiv2244303111ygrp-msg p a span.yiv2244303111yshortcuts {
font-family:Verdana;font-size:10px;font-weight:normal;}
#yiv2244303111 .yiv2244303111green {
color:#628c2a;}
#yiv2244303111 .yiv2244303111MsoNormal {
margin:0 0 0 0;}
#yiv2244303111 o {
font-size:0;}
#yiv2244303111 #yiv2244303111photos div {
float:left;width:72px;}
#yiv2244303111 #yiv2244303111photos div div {
border:1px solid
#666666;min-height:62px;overflow:hidden;width:62px;}
#yiv2244303111 #yiv2244303111photos div label {
color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}
#yiv2244303111 #yiv2244303111reco-category {
font-size:77%;}
#yiv2244303111 #yiv2244303111reco-desc {
font-size:77%;}
#yiv2244303111 .yiv2244303111replbq {
margin:4px;}
#yiv2244303111 #yiv2244303111ygrp-actbar div a:first-child
{
margin-right:2px;padding-right:5px;}
#yiv2244303111 #yiv2244303111ygrp-mlmsg {
font-size:13px;font-family:Arial, helvetica, clean,
sans-serif;}
#yiv2244303111 #yiv2244303111ygrp-mlmsg table {
font-size:inherit;font:100%;}
#yiv2244303111 #yiv2244303111ygrp-mlmsg select,
#yiv2244303111 input, #yiv2244303111 textarea {
font:99% Arial, Helvetica, clean, sans-serif;}
#yiv2244303111 #yiv2244303111ygrp-mlmsg pre,
#yiv2244303111
code {
font:115% monospace;}
#yiv2244303111 #yiv2244303111ygrp-mlmsg * {
line-height:1.22em;}
#yiv2244303111 #yiv2244303111ygrp-mlmsg #yiv2244303111logo
{
padding-bottom:10px;}
#yiv2244303111 #yiv2244303111ygrp-msg p a {
font-family:Verdana;}
#yiv2244303111 #yiv2244303111ygrp-msg
p#yiv2244303111attach-count span {
color:#1E66AE;font-weight:700;}
#yiv2244303111 #yiv2244303111ygrp-reco
#yiv2244303111reco-head {
color:#ff7900;font-weight:700;}
#yiv2244303111 #yiv2244303111ygrp-reco {
margin-bottom:20px;padding:0px;}
#yiv2244303111 #yiv2244303111ygrp-sponsor
#yiv2244303111ov
li a {
font-size:130%;text-decoration:none;}
#yiv2244303111 #yiv2244303111ygrp-sponsor
#yiv2244303111ov
li {
font-size:77%;list-style-type:square;padding:6px 0;}
#yiv2244303111 #yiv2244303111ygrp-sponsor
#yiv2244303111ov
ul {
margin:0;padding:0 0 0 8px;}
#yiv2244303111 #yiv2244303111ygrp-text {
font-family:Georgia;}
#yiv2244303111 #yiv2244303111ygrp-text p {
margin:0 0 1em 0;}
#yiv2244303111 #yiv2244303111ygrp-text tt {
font-size:120%;}
#yiv2244303111 #yiv2244303111ygrp-vital ul li:last-child
{
border-right:none !important;
}
#yiv2244303111
#yiv4888810479 #yiv4888810479 --
#yiv4888810479ygrp-mkp {
border:1px solid #d8d8d8;font-family:Arial;margin:10px
0;padding:0 10px;}
#yiv4888810479 #yiv4888810479ygrp-mkp hr {
border:1px solid #d8d8d8;}
#yiv4888810479 #yiv4888810479ygrp-mkp #yiv4888810479hd {
color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}
#yiv4888810479 #yiv4888810479ygrp-mkp #yiv4888810479ads {
margin-bottom:10px;}
#yiv4888810479 #yiv4888810479ygrp-mkp .yiv4888810479ad {
padding:0 0;}
#yiv4888810479 #yiv4888810479ygrp-mkp .yiv4888810479ad p {
margin:0;}
#yiv4888810479 #yiv4888810479ygrp-mkp .yiv4888810479ad a {
color:#0000ff;text-decoration:none;}
#yiv4888810479 #yiv4888810479ygrp-sponsor
#yiv4888810479ygrp-lc {
font-family:Arial;}
#yiv4888810479 #yiv4888810479ygrp-sponsor
#yiv4888810479ygrp-lc #yiv4888810479hd {
margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}
#yiv4888810479 #yiv4888810479ygrp-sponsor
#yiv4888810479ygrp-lc .yiv4888810479ad {
margin-bottom:10px;padding:0 0;}
#yiv4888810479 #yiv4888810479actions {
font-family:Verdana;font-size:11px;padding:10px 0;}
#yiv4888810479 #yiv4888810479activity {
background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}
#yiv4888810479 #yiv4888810479activity span {
font-weight:700;}
#yiv4888810479 #yiv4888810479activity span:first-child {
text-transform:uppercase;}
#yiv4888810479 #yiv4888810479activity span a {
color:#5085b6;text-decoration:none;}
#yiv4888810479 #yiv4888810479activity span span {
color:#ff7900;}
#yiv4888810479 #yiv4888810479activity span
.yiv4888810479underline {
text-decoration:underline;}
#yiv4888810479 .yiv4888810479attach {
clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}
#yiv4888810479 .yiv4888810479attach div a {
text-decoration:none;}
#yiv4888810479 .yiv4888810479attach img {
border:none;padding-right:5px;}
#yiv4888810479 .yiv4888810479attach label {
display:block;margin-bottom:5px;}
#yiv4888810479 .yiv4888810479attach label a {
text-decoration:none;}
#yiv4888810479 blockquote {
margin:0 0 0 4px;}
#yiv4888810479 .yiv4888810479bold {
font-family:Arial;font-size:13px;font-weight:700;}
#yiv4888810479 .yiv4888810479bold a {
text-decoration:none;}
#yiv4888810479 dd.yiv4888810479last p a {
font-family:Verdana;font-weight:700;}
#yiv4888810479 dd.yiv4888810479last p span {
margin-right:10px;font-family:Verdana;font-weight:700;}
#yiv4888810479 dd.yiv4888810479last p
span.yiv4888810479yshortcuts {
margin-right:0;}
#yiv4888810479 div.yiv4888810479attach-table div div a {
text-decoration:none;}
#yiv4888810479 div.yiv4888810479attach-table {
width:400px;}
#yiv4888810479 div.yiv4888810479file-title a, #yiv4888810479
div.yiv4888810479file-title a:active, #yiv4888810479
div.yiv4888810479file-title a:hover, #yiv4888810479
div.yiv4888810479file-title a:visited {
text-decoration:none;}
#yiv4888810479 div.yiv4888810479photo-title a,
#yiv4888810479 div.yiv4888810479photo-title a:active,
#yiv4888810479 div.yiv4888810479photo-title a:hover,
#yiv4888810479 div.yiv4888810479photo-title a:visited {
text-decoration:none;}
#yiv4888810479 div#yiv4888810479ygrp-mlmsg
#yiv4888810479ygrp-msg p a span.yiv4888810479yshortcuts {
font-family:Verdana;font-size:10px;font-weight:normal;}
#yiv4888810479 .yiv4888810479green {
color:#628c2a;}
#yiv4888810479 .yiv4888810479MsoNormal {
margin:0 0 0 0;}
#yiv4888810479 o {
font-size:0;}
#yiv4888810479 #yiv4888810479photos div {
float:left;width:72px;}
#yiv4888810479 #yiv4888810479photos div div {
border:1px solid
#666666;min-height:62px;overflow:hidden;width:62px;}
#yiv4888810479 #yiv4888810479photos div label {
color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}
#yiv4888810479 #yiv4888810479reco-category {
font-size:77%;}
#yiv4888810479 #yiv4888810479reco-desc {
font-size:77%;}
#yiv4888810479 .yiv4888810479replbq {
margin:4px;}
#yiv4888810479 #yiv4888810479ygrp-actbar div a:first-child {
margin-right:2px;padding-right:5px;}
#yiv4888810479 #yiv4888810479ygrp-mlmsg {
font-size:13px;font-family:Arial, helvetica, clean,
sans-serif;}
#yiv4888810479 #yiv4888810479ygrp-mlmsg table {
font-size:inherit;font:100%;}
#yiv4888810479 #yiv4888810479ygrp-mlmsg select,
#yiv4888810479 input, #yiv4888810479 textarea {
font:99% Arial, Helvetica, clean, sans-serif;}
#yiv4888810479 #yiv4888810479ygrp-mlmsg pre, #yiv4888810479
code {
font:115% monospace;}
#yiv4888810479 #yiv4888810479ygrp-mlmsg * {
line-height:1.22em;}
#yiv4888810479 #yiv4888810479ygrp-mlmsg #yiv4888810479logo {
padding-bottom:10px;}
#yiv4888810479 #yiv4888810479ygrp-msg p a {
font-family:Verdana;}
#yiv4888810479 #yiv4888810479ygrp-msg
p#yiv4888810479attach-count span {
color:#1E66AE;font-weight:700;}
#yiv4888810479 #yiv4888810479ygrp-reco
#yiv4888810479reco-head {
color:#ff7900;font-weight:700;}
#yiv4888810479 #yiv4888810479ygrp-reco {
margin-bottom:20px;padding:0px;}
#yiv4888810479 #yiv4888810479ygrp-sponsor #yiv4888810479ov
li a {
font-size:130%;text-decoration:none;}
#yiv4888810479 #yiv4888810479ygrp-sponsor #yiv4888810479ov
li {
font-size:77%;list-style-type:square;padding:6px 0;}
#yiv4888810479 #yiv4888810479ygrp-sponsor #yiv4888810479ov
ul {
margin:0;padding:0 0 0 8px;}
#yiv4888810479 #yiv4888810479ygrp-text {
font-family:Georgia;}
#yiv4888810479 #yiv4888810479ygrp-text p {
margin:0 0 1em 0;}
#yiv4888810479 #yiv4888810479ygrp-text tt {
font-size:120%;}
#yiv4888810479 #yiv4888810479ygrp-vital ul li:last-child {
border-right:none !important;
}
#yiv4888810479