diff --git a/docs/API/FFMpeg.html b/docs/API/FFMpeg.html
new file mode 100644
index 0000000..f13cefd
--- /dev/null
+++ b/docs/API/FFMpeg.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+ FFMpeg | PHP FFMpeg API
+
+
+
+
+
+
+
+ | Binary |
+ Binary abstract class |
+
+
+ | FFMpeg |
+ FFMpeg driver |
+
+
+ | FFProbe |
+ FFProbe driver |
+
+
+
+
Interfaces
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/AdapterInterface.html b/docs/API/FFMpeg/AdapterInterface.html
new file mode 100644
index 0000000..69e926c
--- /dev/null
+++ b/docs/API/FFMpeg/AdapterInterface.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+ FFMpeg\AdapterInterface | PHP FFMpeg API
+
+
+
+
+
+
interface AdapterInterface
+
+
+
FFMpeg Adapter interface
+
+
+
+
+
+
Methods
+
+
+
+ |
+ static
+ |
+
+ load(Logger $logger)
+ Loads the adapter
+ |
+ |
+
+
+
+
+
Details
+
+
+
at line 27
+ static public
+ load(Logger $logger)
+
+
+
Loads the adapter
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Binary.html b/docs/API/FFMpeg/Binary.html
new file mode 100644
index 0000000..f94421d
--- /dev/null
+++ b/docs/API/FFMpeg/Binary.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+ FFMpeg\Binary | PHP FFMpeg API
+
+
+
+
+
+
abstract class Binary implements
+ AdapterInterface
+
+
+
Binary abstract class
+
+
+
+
+
+
Methods
+
+
+
+ |
+
+ |
+
+ __construct(type $binary, Logger $logger)
+ Binary constructor
+ |
+ |
+
+
+ |
+
+ |
+
+ __destruct()
+ Destructor
+ |
+ |
+
+
+ |
+ static Binary
+ |
+
+ load(Logger $logger)
+ Loads the adapter
+ |
+ |
+
+
+
+
+
Details
+
+
+
at line 39
+ public
+ __construct(type $binary, Logger $logger)
+
+
+
Binary constructor
+
+
+
+
+
+
at line 48
+ public
+ __destruct()
+
+
+
Destructor
+
+
+
+
+
+
+
+
+
+
at line 61
+ static public Binary
+ load(Logger $logger)
+
+
+
Loads the adapter
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception.html b/docs/API/FFMpeg/Exception.html
new file mode 100644
index 0000000..9674818
--- /dev/null
+++ b/docs/API/FFMpeg/Exception.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+ FFMpeg\Exception | PHP FFMpeg API
+
+
+
+
+
+
+
+
Interfaces
+
+
+
Exceptions
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception/BinaryNotFoundException.html b/docs/API/FFMpeg/Exception/BinaryNotFoundException.html
new file mode 100644
index 0000000..875d8ad
--- /dev/null
+++ b/docs/API/FFMpeg/Exception/BinaryNotFoundException.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+ FFMpeg\Exception\BinaryNotFoundException | PHP FFMpeg API
+
+
+
+
+
+
class BinaryNotFoundException extends Exception implements
+ Exception
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception/Exception.html b/docs/API/FFMpeg/Exception/Exception.html
new file mode 100644
index 0000000..5239878
--- /dev/null
+++ b/docs/API/FFMpeg/Exception/Exception.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+ FFMpeg\Exception\Exception | PHP FFMpeg API
+
+
+
+
+
+
interface Exception
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception/InvalidArgumentException.html b/docs/API/FFMpeg/Exception/InvalidArgumentException.html
new file mode 100644
index 0000000..c5f63f9
--- /dev/null
+++ b/docs/API/FFMpeg/Exception/InvalidArgumentException.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+ FFMpeg\Exception\InvalidArgumentException | PHP FFMpeg API
+
+
+
+
+
+
class InvalidArgumentException extends InvalidArgumentException implements
+ Exception
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception/LogicException.html b/docs/API/FFMpeg/Exception/LogicException.html
new file mode 100644
index 0000000..fe1bac0
--- /dev/null
+++ b/docs/API/FFMpeg/Exception/LogicException.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+ FFMpeg\Exception\LogicException | PHP FFMpeg API
+
+
+
+
+
+
class LogicException extends LogicException implements
+ Exception
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception/RuntimeException.html b/docs/API/FFMpeg/Exception/RuntimeException.html
new file mode 100644
index 0000000..965929a
--- /dev/null
+++ b/docs/API/FFMpeg/Exception/RuntimeException.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+ FFMpeg\Exception\RuntimeException | PHP FFMpeg API
+
+
+
+
+
+
class RuntimeException extends RuntimeException implements
+ Exception
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Exception/namespace-frame.html b/docs/API/FFMpeg/Exception/namespace-frame.html
new file mode 100644
index 0000000..ccd881d
--- /dev/null
+++ b/docs/API/FFMpeg/Exception/namespace-frame.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+ FFMpeg\Exception | PHP FFMpeg API
+
+
+
diff --git a/docs/API/FFMpeg/FFMpeg.html b/docs/API/FFMpeg/FFMpeg.html
new file mode 100644
index 0000000..2fd23c1
--- /dev/null
+++ b/docs/API/FFMpeg/FFMpeg.html
@@ -0,0 +1,417 @@
+
+
+
+
+
+ FFMpeg\FFMpeg | PHP FFMpeg API
+
+
+
+
+
+
class FFMpeg extends Binary
+
+
+
+
+
+
Methods
+
+
+
+ |
+
+ |
+
+ __construct(type $binary, Logger $logger)
+ Binary constructor
+ |
+ from Binary |
+
+
+ |
+
+ |
+
+ __destruct()
+ Destructor
+ |
+ |
+
+
+ |
+ static Binary
+ |
+
+ load(Logger $logger)
+ Loads the adapter
+ |
+ from Binary |
+
+
+ |
+ FFMpeg
+ |
+
+ open(string $pathfile)
+ Opens a file in order to be processed
+ |
+ |
+
+
+ |
+ FFMpeg
+ |
+
+ setProber(FFProbe $prober)
+ Set a prober
+ |
+ |
+
+
+ |
+ FFMpeg
+ |
+
+ close()
+ Close a file
+ |
+ |
+
+
+ |
+ FFMpeg
+ |
+
+ extractImage(integer $time, string $output)
+
+ |
+ |
+
+
+ |
+ FFMpeg
+ |
+
+ encode(Audio $format, string $outputPathfile, integer $threads = 1)
+ Encode the file to the specified format
+ |
+ |
+
+
+
+
+
Details
+
+
+
+ public
+ __construct(type $binary, Logger $logger)
+
+
+
Binary constructor
+
+
+
+
+
+
at line 36
+ public
+ __destruct()
+
+
+
Destructor
+
+
+
+
+
+
+
+
+
+
+ static public Binary
+ load(Logger $logger)
+
+
+
Loads the adapter
+
+
+
+
+
+
at line 49
+ public FFMpeg
+ open(string $pathfile)
+
+
+
Opens a file in order to be processed
+
+
+
+
+
+
at line 69
+ public FFMpeg
+ setProber(FFProbe $prober)
+
+
+
+
+
at line 81
+ public FFMpeg
+ close()
+
+
+
+
+
+
+
+
at line 142
+ public FFMpeg
+ encode(Audio $format, string $outputPathfile, integer $threads = 1)
+
+
+
Encode the file to the specified format
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/FFProbe.html b/docs/API/FFMpeg/FFProbe.html
new file mode 100644
index 0000000..5f95356
--- /dev/null
+++ b/docs/API/FFMpeg/FFProbe.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+ FFMpeg\FFProbe | PHP FFMpeg API
+
+
+
+
+
+
class FFProbe extends Binary
+
+
+
+
+
+
Methods
+
+
+
+ |
+
+ |
+
+ __construct(type $binary, Logger $logger)
+ Binary constructor
+ |
+ from Binary |
+
+
+ |
+
+ |
+
+ __destruct()
+ Destructor
+ |
+ from Binary |
+
+
+ |
+ static Binary
+ |
+
+ load(Logger $logger)
+ Loads the adapter
+ |
+ from Binary |
+
+
+ |
+ string
+ |
+
+ probeFormat(string $pathfile)
+ Probe the format of a given file
+ |
+ |
+
+
+ |
+ string
+ |
+
+ probeStreams(string $pathfile)
+ Probe the streams contained in a given file
+ |
+ |
+
+
+
+
+
Details
+
+
+
+ public
+ __construct(type $binary, Logger $logger)
+
+
+
Binary constructor
+
+
+
+
+
+
+ public
+ __destruct()
+
+
+
Destructor
+
+
+
+
+
+
+
+
+
+
+ static public Binary
+ load(Logger $logger)
+
+
+
Loads the adapter
+
+
+
+
+
+
+
Probe the format of a given file
+
+
+
+
+
+
at line 53
+ public string
+ probeStreams(string $pathfile)
+
+
+
Probe the streams contained in a given file
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format.html b/docs/API/FFMpeg/Format.html
new file mode 100644
index 0000000..9682d29
--- /dev/null
+++ b/docs/API/FFMpeg/Format.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+ FFMpeg\Format | PHP FFMpeg API
+
+
+
+
+
+
+
Interfaces
+
+
+ | Audio |
+ The base audio interface |
+
+
+ | Video |
+ The base video interface |
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio.html b/docs/API/FFMpeg/Format/Audio.html
new file mode 100644
index 0000000..46ac45a
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+ FFMpeg\Format\Audio | PHP FFMpeg API
+
+
+
+
+
+
interface Audio
+
+
+
The base audio interface
+
+
+
+
+
+
Methods
+
+
+
+ |
+ string
+ |
+
+ getAudioCodec()
+ Returns the audio codec
+ |
+ |
+
+
+ |
+ integer
+ |
+
+ getKiloBitrate()
+ Get the kiloBitrate value
+ |
+ |
+
+
+
+
+
Details
+
+
+
at line 27
+ public string
+ getAudioCodec()
+
+
+
Returns the audio codec
+
+
+
+
+
+
at line 34
+ public integer
+ getKiloBitrate()
+
+
+
Get the kiloBitrate value
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio/DefaultAudio.html b/docs/API/FFMpeg/Format/Audio/DefaultAudio.html
new file mode 100644
index 0000000..05048e8
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio/DefaultAudio.html
@@ -0,0 +1,299 @@
+
+
+
+
+
+ FFMpeg\Format\Audio\DefaultAudio | PHP FFMpeg API
+
+
+
+
+
+
abstract class DefaultAudio implements
+ ResamplableAudio, InteractiveAudio
+
+
+
The abstract default Audio format
+
+
+
+
+
+
Methods
+
+
+
+ |
+ string
+ |
+
+ getExtraParams()
+ Returns extra parameters for the encoding
+ |
+ |
+
+
+ |
+
+ |
+
+ getAudioCodec()
+ {@inheritdoc}
+ |
+ |
+
+
+ |
+
+ |
+
+ setAudioCodec(string $audioCodec)
+ Set the audio codec, Should be in the available ones, otherwise an exception is thrown
+ |
+ |
+
+
+ |
+ integer
+ |
+
+ getAudioSampleRate()
+ Get the audio sample rate
+ |
+ |
+
+
+ |
+
+ |
+
+ setAudioSampleRate(integer $audioSampleRate)
+ Set the audio sample rate
+ |
+ |
+
+
+ |
+
+ |
+
+ getKiloBitrate()
+ {@inheritdoc}
+ |
+ |
+
+
+ |
+
+ |
+
+ setKiloBitrate(int $kiloBitrate)
+ Set the kiloBitrate value
+ |
+ |
+
+
+
+
+
Details
+
+
+
+
Returns extra parameters for the encoding
+
+
+
+
+
+
at line 40
+ public
+ getAudioCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
at line 52
+ public
+ setAudioCodec(string $audioCodec)
+
+
+
Set the audio codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
at line 69
+ public integer
+ getAudioSampleRate()
+
+
+
Get the audio sample rate
+
+
+
+
+
+
at line 80
+ public
+ setAudioSampleRate(integer $audioSampleRate)
+
+
+
Set the audio sample rate
+
+
+
+
+
+
at line 94
+ public
+ getKiloBitrate()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
at line 105
+ public
+ setKiloBitrate(int $kiloBitrate)
+
+
+
Set the kiloBitrate value
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio/Flac.html b/docs/API/FFMpeg/Format/Audio/Flac.html
new file mode 100644
index 0000000..c31a633
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio/Flac.html
@@ -0,0 +1,323 @@
+
+
+
+
+
+ FFMpeg\Format\Audio\Flac | PHP FFMpeg API
+
+
+
+
+
+
class Flac extends DefaultAudio
+
+
+
The Flac audio format
+
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+
Returns extra parameters for the encoding
+
+
+
+
+
+
+ public
+ getAudioCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setAudioCodec(string $audioCodec)
+
+
+
Set the audio codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
+ public integer
+ getAudioSampleRate()
+
+
+
Get the audio sample rate
+
+
+
+
+
+
+ public
+ setAudioSampleRate(integer $audioSampleRate)
+
+
+
Set the audio sample rate
+
+
+
+
+
+
+ public
+ getKiloBitrate()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setKiloBitrate(int $kiloBitrate)
+
+
+
Set the kiloBitrate value
+
+
+
+
+
+
at line 26
+ public
+ getAvailableAudioCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio/InteractiveAudio.html b/docs/API/FFMpeg/Format/Audio/InteractiveAudio.html
new file mode 100644
index 0000000..aa6633d
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio/InteractiveAudio.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+ FFMpeg\Format\Audio\InteractiveAudio | PHP FFMpeg API
+
+
+
+
+
+
interface InteractiveAudio implements
+ Audio
+
+
+
The interactive audio interface.
+
This provide a method to list available
+ codecs. This is usefull to build interactive development and switch between
+ different codecs
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public string
+ getAudioCodec()
+
+
+
Returns the audio codec
+
+
+
+
+
+
+ public integer
+ getKiloBitrate()
+
+
+
Get the kiloBitrate value
+
+
+
+
+
+
at line 31
+ public array
+ getAvailableAudioCodecs()
+
+
+
Returns the list of available audio codecs for this format
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio/Mp3.html b/docs/API/FFMpeg/Format/Audio/Mp3.html
new file mode 100644
index 0000000..e9607c9
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio/Mp3.html
@@ -0,0 +1,323 @@
+
+
+
+
+
+ FFMpeg\Format\Audio\Mp3 | PHP FFMpeg API
+
+
+
+
+
+
class Mp3 extends DefaultAudio
+
+
+
The MP3 audio format
+
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+
Returns extra parameters for the encoding
+
+
+
+
+
+
+ public
+ getAudioCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setAudioCodec(string $audioCodec)
+
+
+
Set the audio codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
+ public integer
+ getAudioSampleRate()
+
+
+
Get the audio sample rate
+
+
+
+
+
+
+ public
+ setAudioSampleRate(integer $audioSampleRate)
+
+
+
Set the audio sample rate
+
+
+
+
+
+
+ public
+ getKiloBitrate()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setKiloBitrate(int $kiloBitrate)
+
+
+
Set the kiloBitrate value
+
+
+
+
+
+
at line 26
+ public
+ getAvailableAudioCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio/ResamplableAudio.html b/docs/API/FFMpeg/Format/Audio/ResamplableAudio.html
new file mode 100644
index 0000000..97d97e7
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio/ResamplableAudio.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+ FFMpeg\Format\Audio\ResamplableAudio | PHP FFMpeg API
+
+
+
+
+
+
interface ResamplableAudio implements
+ Audio
+
+
+
The resamplable audio interface
+
This provide a method to define the AudiosampleRate
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public string
+ getAudioCodec()
+
+
+
Returns the audio codec
+
+
+
+
+
+
+ public integer
+ getKiloBitrate()
+
+
+
Get the kiloBitrate value
+
+
+
+
+
+
at line 31
+ public integer
+ getAudioSampleRate()
+
+
+
Get the audio sample rate
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Audio/namespace-frame.html b/docs/API/FFMpeg/Format/Audio/namespace-frame.html
new file mode 100644
index 0000000..5a69324
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Audio/namespace-frame.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+ FFMpeg\Format\Audio | PHP FFMpeg API
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video.html b/docs/API/FFMpeg/Format/Video.html
new file mode 100644
index 0000000..0103b13
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+ FFMpeg\Format\Video | PHP FFMpeg API
+
+
+
+
+
+
interface Video implements
+ Audio
+
+
+
The base video interface
+
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public string
+ getAudioCodec()
+
+
+
Returns the audio codec
+
+
+
+
+
+
+ public integer
+ getKiloBitrate()
+
+
+
Get the kiloBitrate value
+
+
+
+
+
+
at line 27
+ public string
+ getVideoCodec()
+
+
+
Returns the video codec
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/DefaultVideo.html b/docs/API/FFMpeg/Format/Video/DefaultVideo.html
new file mode 100644
index 0000000..8c1af6e
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/DefaultVideo.html
@@ -0,0 +1,778 @@
+
+
+
+
+
+ FFMpeg\Format\Video\DefaultVideo | PHP FFMpeg API
+
+
+
+
+
+
abstract class DefaultVideo extends DefaultAudio implements
+ InteractiveVideo, ResamplableVideo, ResizableVideo
+
+
+
The abstract default Video format
+
+
+
+
Constants
+
+
+
+ | RESIZEMODE_FIT |
+
+
+
+ |
+
+
+ | RESIZEMODE_INSET |
+
+
+
+ |
+
+
+
+
+
+
Methods
+
+
+
+ |
+ string
+ |
+
+ getExtraParams()
+ Returns extra parameters for the encoding
+ |
+ from DefaultAudio |
+
+
+ |
+
+ |
+
+ getAudioCodec()
+ {@inheritdoc}
+ |
+ from DefaultAudio |
+
+
+ |
+
+ |
+
+ setAudioCodec(string $audioCodec)
+ Set the audio codec, Should be in the available ones, otherwise an exception is thrown
+ |
+ from DefaultAudio |
+
+
+ |
+ integer
+ |
+
+ getAudioSampleRate()
+ Get the audio sample rate
+ |
+ from DefaultAudio |
+
+
+ |
+
+ |
+
+ setAudioSampleRate(integer $audioSampleRate)
+ Set the audio sample rate
+ |
+ from DefaultAudio |
+
+
+ |
+
+ |
+
+ getKiloBitrate()
+ {@inheritdoc}
+ |
+ from DefaultAudio |
+
+
+ |
+
+ |
+
+ setKiloBitrate(int $kiloBitrate)
+ Set the kiloBitrate value
+ |
+ from DefaultAudio |
+
+
+ |
+ integer
+ |
+
+ getWidth()
+ Returns the width setting.
+ |
+ |
+
+
+ |
+ integer
+ |
+
+ getHeight()
+ Returns the height setting The return of this method should not depend on a media file size
+ |
+ |
+
+
+ |
+
+ |
+
+ setDimensions(integer $width, integer $height)
+ Set the dimensions
+ |
+ |
+
+
+ |
+ array
+ |
+
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+ {@inheritdoc)
+ |
+ |
+
+
+ |
+
+ |
+
+ setResizeMode(string $mode)
+ Set the resize mode
+ |
+ |
+
+
+ |
+ string
+ |
+
+ getResizeMode()
+ Get the current resize mode name
+ |
+ |
+
+
+ |
+ integer
+ |
+
+ getFrameRate()
+ Returns the frame rate
+ |
+ |
+
+
+ |
+
+ |
+
+ setFrameRate(integer $frameRate)
+ Set the framerate
+ |
+ |
+
+
+ |
+
+ |
+
+ getVideoCodec()
+ {@inheritdoc}
+ |
+ |
+
+
+ |
+
+ |
+
+ setVideoCodec(string $videoCodec)
+ Set the video codec, Should be in the available ones, otherwise an exception is thrown
+ |
+ |
+
+
+ |
+
+ |
+
+ getGOPsize()
+ {@inheritdoc}
+ |
+ |
+
+
+ |
+
+ |
+
+ setGOPsize(integer $GOPsize)
+ Set the GOP size
+ |
+ |
+
+
+
+
+
Details
+
+
+
+
Returns extra parameters for the encoding
+
+
+
+
+
+
+ public
+ getAudioCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setAudioCodec(string $audioCodec)
+
+
+
Set the audio codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
+ public integer
+ getAudioSampleRate()
+
+
+
Get the audio sample rate
+
+
+
+
+
+
+ public
+ setAudioSampleRate(integer $audioSampleRate)
+
+
+
Set the audio sample rate
+
+
+
+
+
+
+ public
+ getKiloBitrate()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setKiloBitrate(int $kiloBitrate)
+
+
+
Set the kiloBitrate value
+
+
+
+
+
+
at line 38
+ public integer
+ getWidth()
+
+
+
Returns the width setting.
+
The return of this method should not depend on a media file size
+
+
+
+
+
at line 46
+ public integer
+ getHeight()
+
+
+
Returns the height setting The return of this method should not depend on a media file size
+
+
+
+
+
+
at line 58
+ public
+ setDimensions(integer $width, integer $height)
+
+
+
Set the dimensions
+
+
+
+
+
+
at line 76
+ public array
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+
+
+
+
+
at line 108
+ public
+ setResizeMode(string $mode)
+
+
+
Set the resize mode
+
+
+
+
+
+
at line 126
+ public string
+ getResizeMode()
+
+
+
Get the current resize mode name
+
+
+
+
+
+
at line 134
+ public integer
+ getFrameRate()
+
+
+
Returns the frame rate
+
+
+
+
+
+
at line 146
+ public
+ setFrameRate(integer $frameRate)
+
+
+
Set the framerate
+
+
+
+
+
+
at line 160
+ public
+ getVideoCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
at line 172
+ public
+ setVideoCodec(string $videoCodec)
+
+
+
Set the video codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
at line 189
+ public
+ getGOPsize()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
at line 201
+ public
+ setGOPsize(integer $GOPsize)
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/InteractiveVideo.html b/docs/API/FFMpeg/Format/Video/InteractiveVideo.html
new file mode 100644
index 0000000..5def581
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/InteractiveVideo.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+ FFMpeg\Format\Video\InteractiveVideo | PHP FFMpeg API
+
+
+
+
+
+
interface InteractiveVideo implements
+ Video
+
+
+
The interactive video interface.
+
This provide a method to list available
+ codecs. This is usefull to build interactive development and switch between
+ different codecs
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public string
+ getVideoCodec()
+
+
+
Returns the video codec
+
+
+
+
+
+
at line 31
+ public array
+ getAvailableVideoCodecs()
+
+
+
Returns the list of available video codecs for this format
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/Ogg.html b/docs/API/FFMpeg/Format/Video/Ogg.html
new file mode 100644
index 0000000..9a05ad5
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/Ogg.html
@@ -0,0 +1,577 @@
+
+
+
+
+
+ FFMpeg\Format\Video\Ogg | PHP FFMpeg API
+
+
+
+
+
+
class Ogg extends DefaultVideo
+
+
+
The Ogg video format
+
+
+
+
Constants
+
+
+
+ | RESIZEMODE_FIT |
+
+
+
+ |
+
+
+ | RESIZEMODE_INSET |
+
+
+
+ |
+
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public integer
+ getWidth()
+
+
+
Returns the width setting.
+
The return of this method should not depend on a media file size
+
+
+
+
+
+ public integer
+ getHeight()
+
+
+
Returns the height setting The return of this method should not depend on a media file size
+
+
+
+
+
+
+ public
+ setDimensions(integer $width, integer $height)
+
+
+
Set the dimensions
+
+
+
+
+
+
+ public array
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+
+
+
+
+
+ public
+ setResizeMode(string $mode)
+
+
+
Set the resize mode
+
+
+
+
+
+
+ public string
+ getResizeMode()
+
+
+
Get the current resize mode name
+
+
+
+
+
+
+ public integer
+ getFrameRate()
+
+
+
Returns the frame rate
+
+
+
+
+
+
+ public
+ setFrameRate(integer $frameRate)
+
+
+
Set the framerate
+
+
+
+
+
+
+ public
+ getVideoCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setVideoCodec(string $videoCodec)
+
+
+
Set the video codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
+ public
+ getGOPsize()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setGOPsize(integer $GOPsize)
+
+
+
+
+
at line 27
+ public
+ getAvailableAudioCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
at line 35
+ public
+ getAvailableVideoCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/ResamplableVideo.html b/docs/API/FFMpeg/Format/Video/ResamplableVideo.html
new file mode 100644
index 0000000..c0f1743
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/ResamplableVideo.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+ FFMpeg\Format\Video\ResamplableVideo | PHP FFMpeg API
+
+
+
+
+
+
interface ResamplableVideo implements
+ Video
+
+
+
The resamplable video interface
+
This interface provides frame rate and GOP size settings for video encoding
+
+
+
+
+
Methods
+
+
+
+ |
+ string
+ |
+
+ getVideoCodec()
+ Returns the video codec
+ |
+ from Video |
+
+
+ |
+ integer
+ |
+
+ getFrameRate()
+ Returns the frame rate
+ |
+ |
+
+
+ |
+ integer
+ |
+
+ getGOPSize()
+ Returns the GOP size
+ |
+ |
+
+
+
+
+
Details
+
+
+
+ public string
+ getVideoCodec()
+
+
+
Returns the video codec
+
+
+
+
+
+
at line 31
+ public integer
+ getFrameRate()
+
+
+
Returns the frame rate
+
+
+
+
+
+
at line 38
+ public integer
+ getGOPSize()
+
+
+
Returns the GOP size
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/ResizableVideo.html b/docs/API/FFMpeg/Format/Video/ResizableVideo.html
new file mode 100644
index 0000000..cc7ce3e
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/ResizableVideo.html
@@ -0,0 +1,234 @@
+
+
+
+
+
+ FFMpeg\Format\Video\ResizableVideo | PHP FFMpeg API
+
+
+
+
+
+
interface ResizableVideo implements
+ Video
+
+
+
The resizable video interface
+
This interface provides methods for video resizing.
+
+
+
+
+
Methods
+
+
+
+ |
+ string
+ |
+
+ getVideoCodec()
+ Returns the video codec
+ |
+ from Video |
+
+
+ |
+ integer
+ |
+
+ getWidth()
+ Returns the width setting.
+ |
+ |
+
+
+ |
+ integer
+ |
+
+ getHeight()
+ Returns the height setting The return of this method should not depend on a media file size
+ |
+ |
+
+
+ |
+ array
+ |
+
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+ Returns the computed dimensions for the resize, after operation.
+ |
+ |
+
+
+ |
+ string
+ |
+
+ getResizeMode()
+ Get the current resize mode name
+ |
+ |
+
+
+
+
+
Details
+
+
+
+ public string
+ getVideoCodec()
+
+
+
Returns the video codec
+
+
+
+
+
+
at line 32
+ public integer
+ getWidth()
+
+
+
Returns the width setting.
+
The return of this method should not depend on a media file size
+
+
+
+
+
at line 40
+ public integer
+ getHeight()
+
+
+
Returns the height setting The return of this method should not depend on a media file size
+
+
+
+
+
+
at line 50
+ public array
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+
+
+
Returns the computed dimensions for the resize, after operation.
+
This method return the actual dimensions that FFmpeg will use.
+
+
+
+
+
at line 57
+ public string
+ getResizeMode()
+
+
+
Get the current resize mode name
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/WebM.html b/docs/API/FFMpeg/Format/Video/WebM.html
new file mode 100644
index 0000000..9210cd4
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/WebM.html
@@ -0,0 +1,602 @@
+
+
+
+
+
+ FFMpeg\Format\Video\WebM | PHP FFMpeg API
+
+
+
+
+
+
class WebM extends DefaultVideo
+
+
+
The WebM video format
+
+
+
+
Constants
+
+
+
+ | RESIZEMODE_FIT |
+
+
+
+ |
+
+
+ | RESIZEMODE_INSET |
+
+
+
+ |
+
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public integer
+ getWidth()
+
+
+
Returns the width setting.
+
The return of this method should not depend on a media file size
+
+
+
+
+
+ public integer
+ getHeight()
+
+
+
Returns the height setting The return of this method should not depend on a media file size
+
+
+
+
+
+
+ public
+ setDimensions(integer $width, integer $height)
+
+
+
Set the dimensions
+
+
+
+
+
+
+ public array
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+
+
+
+
+
+ public
+ setResizeMode(string $mode)
+
+
+
Set the resize mode
+
+
+
+
+
+
+ public string
+ getResizeMode()
+
+
+
Get the current resize mode name
+
+
+
+
+
+
+ public integer
+ getFrameRate()
+
+
+
Returns the frame rate
+
+
+
+
+
+
+ public
+ setFrameRate(integer $frameRate)
+
+
+
Set the framerate
+
+
+
+
+
+
+ public
+ getVideoCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setVideoCodec(string $videoCodec)
+
+
+
Set the video codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
+ public
+ getGOPsize()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setGOPsize(integer $GOPsize)
+
+
+
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
at line 35
+ public
+ getAvailableAudioCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
at line 43
+ public
+ getAvailableVideoCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/X264.html b/docs/API/FFMpeg/Format/Video/X264.html
new file mode 100644
index 0000000..d1f70c6
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/X264.html
@@ -0,0 +1,577 @@
+
+
+
+
+
+ FFMpeg\Format\Video\X264 | PHP FFMpeg API
+
+
+
+
+
+
class X264 extends DefaultVideo
+
+
+
The X264 video format
+
+
+
+
Constants
+
+
+
+ | RESIZEMODE_FIT |
+
+
+
+ |
+
+
+ | RESIZEMODE_INSET |
+
+
+
+ |
+
+
+
+
+
+
Methods
+
+
+
+
+
Details
+
+
+
+ public integer
+ getWidth()
+
+
+
Returns the width setting.
+
The return of this method should not depend on a media file size
+
+
+
+
+
+ public integer
+ getHeight()
+
+
+
Returns the height setting The return of this method should not depend on a media file size
+
+
+
+
+
+
+ public
+ setDimensions(integer $width, integer $height)
+
+
+
Set the dimensions
+
+
+
+
+
+
+ public array
+ getComputedDimensions(integer $originalWidth, integer $originalHeight)
+
+
+
+
+
+ public
+ setResizeMode(string $mode)
+
+
+
Set the resize mode
+
+
+
+
+
+
+ public string
+ getResizeMode()
+
+
+
Get the current resize mode name
+
+
+
+
+
+
+ public integer
+ getFrameRate()
+
+
+
Returns the frame rate
+
+
+
+
+
+
+ public
+ setFrameRate(integer $frameRate)
+
+
+
Set the framerate
+
+
+
+
+
+
+ public
+ getVideoCodec()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setVideoCodec(string $videoCodec)
+
+
+
Set the video codec, Should be in the available ones, otherwise an exception is thrown
+
+
+
+
+
+
+ public
+ getGOPsize()
+
+
+
{@inheritdoc}
+
+
+
+
+
+
+
+
+
+
+ public
+ setGOPsize(integer $GOPsize)
+
+
+
+
+
at line 27
+ public
+ getAvailableAudioCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
at line 35
+ public
+ getAvailableVideoCodecs()
+
+
+
{@inheritDoc}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/API/FFMpeg/Format/Video/namespace-frame.html b/docs/API/FFMpeg/Format/Video/namespace-frame.html
new file mode 100644
index 0000000..2abb072
--- /dev/null
+++ b/docs/API/FFMpeg/Format/Video/namespace-frame.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+ FFMpeg\Format\Video | PHP FFMpeg API
+
+
+
diff --git a/docs/API/FFMpeg/Format/namespace-frame.html b/docs/API/FFMpeg/Format/namespace-frame.html
new file mode 100644
index 0000000..0e6cd6c
--- /dev/null
+++ b/docs/API/FFMpeg/Format/namespace-frame.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+ FFMpeg\Format | PHP FFMpeg API
+
+
+
diff --git a/docs/API/FFMpeg/namespace-frame.html b/docs/API/FFMpeg/namespace-frame.html
new file mode 100644
index 0000000..4cc7ac5
--- /dev/null
+++ b/docs/API/FFMpeg/namespace-frame.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+ FFMpeg | PHP FFMpeg API
+
+
+
diff --git a/docs/API/PROJECT_VERSION b/docs/API/PROJECT_VERSION
new file mode 100644
index 0000000..8b25206
--- /dev/null
+++ b/docs/API/PROJECT_VERSION
@@ -0,0 +1 @@
+master
\ No newline at end of file
diff --git a/docs/API/SAMI_VERSION b/docs/API/SAMI_VERSION
new file mode 100644
index 0000000..7608fb3
--- /dev/null
+++ b/docs/API/SAMI_VERSION
@@ -0,0 +1 @@
+0.8.1-DEV
\ No newline at end of file
diff --git a/docs/API/cache/PROJECT_VERSION b/docs/API/cache/PROJECT_VERSION
new file mode 100644
index 0000000..8b25206
--- /dev/null
+++ b/docs/API/cache/PROJECT_VERSION
@@ -0,0 +1 @@
+master
\ No newline at end of file
diff --git a/docs/API/cache/SAMI_VERSION b/docs/API/cache/SAMI_VERSION
new file mode 100644
index 0000000..7608fb3
--- /dev/null
+++ b/docs/API/cache/SAMI_VERSION
@@ -0,0 +1 @@
+0.8.1-DEV
\ No newline at end of file
diff --git a/docs/API/cache/twig/4a/18/ed7812db88f182565e01bc39b38f.php b/docs/API/cache/twig/4a/18/ed7812db88f182565e01bc39b38f.php
new file mode 100644
index 0000000..d197789
--- /dev/null
+++ b/docs/API/cache/twig/4a/18/ed7812db88f182565e01bc39b38f.php
@@ -0,0 +1,699 @@
+blocks = array(
+ 'title' => array($this, 'block_title'),
+ 'body_class' => array($this, 'block_body_class'),
+ 'content_header' => array($this, 'block_content_header'),
+ 'content' => array($this, 'block_content'),
+ 'class_signature' => array($this, 'block_class_signature'),
+ 'method_signature' => array($this, 'block_method_signature'),
+ 'method_parameters_signature' => array($this, 'block_method_parameters_signature'),
+ 'parameters' => array($this, 'block_parameters'),
+ 'return' => array($this, 'block_return'),
+ 'exceptions' => array($this, 'block_exceptions'),
+ 'see' => array($this, 'block_see'),
+ 'constants' => array($this, 'block_constants'),
+ 'properties' => array($this, 'block_properties'),
+ 'methods' => array($this, 'block_methods'),
+ 'methods_details' => array($this, 'block_methods_details'),
+ 'method' => array($this, 'block_method'),
+ );
+ }
+
+ protected function doGetParent(array $context)
+ {
+ return $this->env->resolveTemplate($this->getContext($context, "page_layout"));
+ }
+
+ protected function doDisplay(array $context, array $blocks = array())
+ {
+ // line 3
+ $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"] = $this->env->loadTemplate("macros.twig");
+ $this->getParent($context)->display($context, array_merge($this->blocks, $blocks));
+ }
+
+ // line 5
+ public function block_title($context, array $blocks = array())
+ {
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "name"), "html", null, true);
+ echo " | ";
+ $this->displayParentBlock("title", $context, $blocks);
+ }
+
+ // line 7
+ public function block_body_class($context, array $blocks = array())
+ {
+ echo "class";
+ }
+
+ // line 9
+ public function block_content_header($context, array $blocks = array())
+ {
+ // line 10
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "class"), "interface")) {
+ echo "Interface";
+ } else {
+ echo "Class";
+ }
+ echo "
+ ";
+ // line 11
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getnamespace_link($this->getAttribute($this->getContext($context, "class"), "namespace"));
+ if ($this->getAttribute($this->getContext($context, "class"), "namespace")) {
+ echo "\\";
+ }
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "shortname"), "html", null, true);
+ echo "
+";
+ }
+
+ // line 14
+ public function block_content($context, array $blocks = array())
+ {
+ // line 15
+ echo " ";
+ $this->displayBlock("class_signature", $context, $blocks);
+ echo "
+
+ ";
+ // line 17
+ if (($this->getAttribute($this->getContext($context, "class"), "shortdesc") || $this->getAttribute($this->getContext($context, "class"), "longdesc"))) {
+ // line 18
+ echo "
+
";
+ // line 19
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "class"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+
";
+ // line 20
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "class"), "longdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+
+ ";
+ }
+ // line 23
+ echo "
+ ";
+ // line 24
+ if ($this->getContext($context, "constants")) {
+ // line 25
+ echo " Constants
+
+ ";
+ // line 27
+ $this->displayBlock("constants", $context, $blocks);
+ echo "
+ ";
+ }
+ // line 29
+ echo "
+ ";
+ // line 30
+ if ($this->getContext($context, "properties")) {
+ // line 31
+ echo " Properties
+
+ ";
+ // line 33
+ $this->displayBlock("properties", $context, $blocks);
+ echo "
+ ";
+ }
+ // line 35
+ echo "
+ ";
+ // line 36
+ if ($this->getContext($context, "methods")) {
+ // line 37
+ echo " Methods
+
+ ";
+ // line 39
+ $this->displayBlock("methods", $context, $blocks);
+ echo "
+
+ Details
+
+ ";
+ // line 43
+ $this->displayBlock("methods_details", $context, $blocks);
+ echo "
+ ";
+ }
+ }
+
+ // line 47
+ public function block_class_signature($context, array $blocks = array())
+ {
+ // line 48
+ if (((!$this->getAttribute($this->getContext($context, "class"), "interface")) && $this->getAttribute($this->getContext($context, "class"), "abstract"))) {
+ echo "abstract ";
+ }
+ // line 49
+ if ($this->getAttribute($this->getContext($context, "class"), "interface")) {
+ echo "interface";
+ } else {
+ echo "class";
+ }
+ // line 50
+ echo " ";
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "shortname"), "html", null, true);
+ echo "";
+ // line 51
+ if ($this->getAttribute($this->getContext($context, "class"), "parent")) {
+ // line 52
+ echo " extends ";
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getclass_link($this->getAttribute($this->getContext($context, "class"), "parent"));
+ }
+ // line 54
+ if ((twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "interfaces")) > 0)) {
+ // line 55
+ echo " implements
+ ";
+ // line 56
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "class"), "interfaces"));
+ $context['loop'] = array(
+ 'parent' => $context['_parent'],
+ 'index0' => 0,
+ 'index' => 1,
+ 'first' => true,
+ );
+ if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) {
+ $length = count($context['_seq']);
+ $context['loop']['revindex0'] = $length - 1;
+ $context['loop']['revindex'] = $length;
+ $context['loop']['length'] = $length;
+ $context['loop']['last'] = 1 === $length;
+ }
+ foreach ($context['_seq'] as $context["_key"] => $context["interface"]) {
+ // line 57
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getclass_link($this->getContext($context, "interface"));
+ // line 58
+ if ((!$this->getAttribute($this->getContext($context, "loop"), "last"))) {
+ echo ", ";
+ }
+ ++$context['loop']['index0'];
+ ++$context['loop']['index'];
+ $context['loop']['first'] = false;
+ if (isset($context['loop']['length'])) {
+ --$context['loop']['revindex0'];
+ --$context['loop']['revindex'];
+ $context['loop']['last'] = 0 === $context['loop']['revindex0'];
+ }
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['interface'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ }
+ }
+
+ // line 63
+ public function block_method_signature($context, array $blocks = array())
+ {
+ // line 64
+ if ($this->getAttribute($this->getContext($context, "method"), "final")) {
+ echo "final";
+ }
+ // line 65
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "method"), "abstract")) {
+ echo "abstract";
+ }
+ // line 66
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "method"), "static")) {
+ echo "static";
+ }
+ // line 67
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "method"), "public")) {
+ echo "public";
+ }
+ // line 68
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "method"), "protected")) {
+ echo "protected";
+ }
+ // line 69
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "method"), "private")) {
+ echo "private";
+ }
+ // line 70
+ echo " ";
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "method"), "hint"));
+ echo "
+ ";
+ // line 71
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true);
+ echo "";
+ $this->displayBlock("method_parameters_signature", $context, $blocks);
+ }
+
+ // line 74
+ public function block_method_parameters_signature($context, array $blocks = array())
+ {
+ // line 75
+ $context["__internal_4a18ed7812db88f182565e01bc39b38f_2"] = $this->env->loadTemplate("macros.twig");
+ // line 76
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_2"]->getmethod_parameters_signature($this->getContext($context, "method"));
+ }
+
+ // line 79
+ public function block_parameters($context, array $blocks = array())
+ {
+ // line 80
+ echo "
+ ";
+ // line 81
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "method"), "parameters"));
+ foreach ($context['_seq'] as $context["_key"] => $context["parameter"]) {
+ // line 82
+ echo "
+ | ";
+ // line 83
+ if ($this->getAttribute($this->getContext($context, "parameter"), "hint")) {
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "parameter"), "hint"));
+ }
+ echo " |
+ \$";
+ // line 84
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "parameter"), "name"), "html", null, true);
+ echo " |
+ ";
+ // line 85
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "parameter"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['parameter'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 88
+ echo "
+";
+ }
+
+ // line 91
+ public function block_return($context, array $blocks = array())
+ {
+ // line 92
+ echo "
+
+ | ";
+ // line 94
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "method"), "hint"));
+ echo " |
+ ";
+ // line 95
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "hintDesc"), $this->getContext($context, "class")), "html", null, true));
+ echo " |
+
+
+";
+ }
+
+ // line 100
+ public function block_exceptions($context, array $blocks = array())
+ {
+ // line 101
+ echo "
+ ";
+ // line 102
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "method"), "exceptions"));
+ foreach ($context['_seq'] as $context["_key"] => $context["exception"]) {
+ // line 103
+ echo "
+ | ";
+ // line 104
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getclass_link($this->getAttribute($this->getContext($context, "exception"), 0, array(), "array"));
+ echo " |
+ ";
+ // line 105
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "exception"), 1, array(), "array"), $this->getContext($context, "class")), "html", null, true));
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['exception'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 108
+ echo "
+";
+ }
+
+ // line 111
+ public function block_see($context, array $blocks = array())
+ {
+ // line 112
+ echo "
+ ";
+ // line 113
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "method"), "tags", array(0 => "see"), "method"));
+ foreach ($context['_seq'] as $context["_key"] => $context["tag"]) {
+ // line 114
+ echo "
+ | ";
+ // line 115
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "tag"), 0, array(), "array"), "html", null, true);
+ echo " |
+ ";
+ // line 116
+ echo twig_escape_filter($this->env, twig_join_filter(twig_slice($this->env, $this->getContext($context, "tag"), 1, null), " "), "html", null, true);
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tag'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 119
+ echo "
+";
+ }
+
+ // line 122
+ public function block_constants($context, array $blocks = array())
+ {
+ // line 123
+ echo "
+ ";
+ // line 124
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "constants"));
+ foreach ($context['_seq'] as $context["_key"] => $context["constant"]) {
+ // line 125
+ echo "
+ | ";
+ // line 126
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "constant"), "name"), "html", null, true);
+ echo " |
+
+ ";
+ // line 128
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "constant"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+ ";
+ // line 129
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "constant"), "longdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+ |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['constant'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 133
+ echo "
+";
+ }
+
+ // line 136
+ public function block_properties($context, array $blocks = array())
+ {
+ // line 137
+ echo "
+ ";
+ // line 138
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "properties"));
+ foreach ($context['_seq'] as $context["_key"] => $context["property"]) {
+ // line 139
+ echo "
+ | env, $this->getAttribute($this->getContext($context, "property"), "name"), "html", null, true);
+ echo "\">
+ ";
+ // line 141
+ if ($this->getAttribute($this->getContext($context, "property"), "static")) {
+ echo "static";
+ }
+ // line 142
+ echo " ";
+ if ($this->getAttribute($this->getContext($context, "property"), "protected")) {
+ echo "protected";
+ }
+ // line 143
+ echo " ";
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "property"), "hint"));
+ echo "
+ |
+ \$";
+ // line 145
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "property"), "name"), "html", null, true);
+ echo " |
+ ";
+ // line 146
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "property"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['property'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 149
+ echo "
+";
+ }
+
+ // line 152
+ public function block_methods($context, array $blocks = array())
+ {
+ // line 153
+ echo "
+ ";
+ // line 154
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "methods"));
+ $context['loop'] = array(
+ 'parent' => $context['_parent'],
+ 'index0' => 0,
+ 'index' => 1,
+ 'first' => true,
+ );
+ if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) {
+ $length = count($context['_seq']);
+ $context['loop']['revindex0'] = $length - 1;
+ $context['loop']['revindex'] = $length;
+ $context['loop']['length'] = $length;
+ $context['loop']['last'] = 1 === $length;
+ }
+ foreach ($context['_seq'] as $context["_key"] => $context["method"]) {
+ // line 155
+ echo "
+ |
+ ";
+ // line 157
+ if ($this->getAttribute($this->getContext($context, "method"), "static")) {
+ echo "static ";
+ }
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "method"), "hint"));
+ echo "
+ |
+
+ env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true);
+ echo "\">";
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true);
+ echo "";
+ $this->displayBlock("method_parameters_signature", $context, $blocks);
+ echo "
+ ";
+ // line 161
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+ |
+ ";
+ // line 164
+ if (($this->getAttribute($this->getContext($context, "method"), "class") != $this->getContext($context, "class"))) {
+ // line 165
+ echo "from ";
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getmethod_link($this->getContext($context, "method"), array(), false, true);
+ echo "";
+ }
+ // line 167
+ echo " |
+
+ ";
+ ++$context['loop']['index0'];
+ ++$context['loop']['index'];
+ $context['loop']['first'] = false;
+ if (isset($context['loop']['length'])) {
+ --$context['loop']['revindex0'];
+ --$context['loop']['revindex'];
+ $context['loop']['last'] = 0 === $context['loop']['revindex0'];
+ }
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['method'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 170
+ echo "
+";
+ }
+
+ // line 173
+ public function block_methods_details($context, array $blocks = array())
+ {
+ // line 174
+ echo " ";
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "methods"));
+ $context['loop'] = array(
+ 'parent' => $context['_parent'],
+ 'index0' => 0,
+ 'index' => 1,
+ 'first' => true,
+ );
+ if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) {
+ $length = count($context['_seq']);
+ $context['loop']['revindex0'] = $length - 1;
+ $context['loop']['revindex'] = $length;
+ $context['loop']['length'] = $length;
+ $context['loop']['last'] = 1 === $length;
+ }
+ foreach ($context['_seq'] as $context["_key"] => $context["method"]) {
+ // line 175
+ echo " ";
+ $this->displayBlock("method", $context, $blocks);
+ echo "
+ ";
+ ++$context['loop']['index0'];
+ ++$context['loop']['index'];
+ $context['loop']['first'] = false;
+ if (isset($context['loop']['length'])) {
+ --$context['loop']['revindex0'];
+ --$context['loop']['revindex'];
+ $context['loop']['last'] = 0 === $context['loop']['revindex0'];
+ }
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['method'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ }
+
+ // line 179
+ public function block_method($context, array $blocks = array())
+ {
+ // line 180
+ echo " env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true);
+ echo "\">
+
";
+ // line 181
+ if (($this->getAttribute($this->getContext($context, "method"), "class") != $this->getContext($context, "class"))) {
+ echo "in ";
+ echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getmethod_link($this->getContext($context, "method"), array(), false, true);
+ echo " ";
+ }
+ echo "at line ";
+ echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "method"), "line"), "html", null, true);
+ echo "
+ ";
+ // line 182
+ $this->displayBlock("method_signature", $context, $blocks);
+ echo "
+
+
+
";
+ // line 185
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+
";
+ // line 186
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "longdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo "
+
+ ";
+ // line 188
+ if ($this->getAttribute($this->getContext($context, "method"), "parameters")) {
+ // line 189
+ echo "
Parameters
+
+ ";
+ // line 191
+ $this->displayBlock("parameters", $context, $blocks);
+ echo "
+ ";
+ }
+ // line 193
+ echo "
+ ";
+ // line 194
+ if (($this->getAttribute($this->getContext($context, "method"), "hintDesc") || $this->getAttribute($this->getContext($context, "method"), "hint"))) {
+ // line 195
+ echo " Return Value
+
+ ";
+ // line 197
+ $this->displayBlock("return", $context, $blocks);
+ echo "
+ ";
+ }
+ // line 199
+ echo "
+ ";
+ // line 200
+ if ($this->getAttribute($this->getContext($context, "method"), "exceptions")) {
+ // line 201
+ echo " Exceptions
+
+ ";
+ // line 203
+ $this->displayBlock("exceptions", $context, $blocks);
+ echo "
+ ";
+ }
+ // line 205
+ echo "
+ ";
+ // line 206
+ if ($this->getAttribute($this->getContext($context, "method"), "tags", array(0 => "see"), "method")) {
+ // line 207
+ echo " See also
+
+ ";
+ // line 209
+ $this->displayBlock("see", $context, $blocks);
+ echo "
+ ";
+ }
+ // line 211
+ echo "
+
+";
+ }
+
+ public function getTemplateName()
+ {
+ return "pages/class.twig";
+ }
+
+ public function isTraitable()
+ {
+ return false;
+ }
+
+ public function getDebugInfo()
+ {
+ return array ( 678 => 211, 673 => 209, 669 => 207, 667 => 206, 664 => 205, 659 => 203, 655 => 201, 653 => 200, 650 => 199, 645 => 197, 641 => 195, 639 => 194, 636 => 193, 631 => 191, 627 => 189, 625 => 188, 620 => 186, 616 => 185, 610 => 182, 600 => 181, 595 => 180, 592 => 179, 573 => 175, 555 => 174, 552 => 173, 547 => 170, 531 => 167, 526 => 165, 524 => 164, 519 => 161, 511 => 160, 502 => 157, 498 => 155, 481 => 154, 478 => 153, 475 => 152, 470 => 149, 461 => 146, 457 => 145, 451 => 143, 446 => 142, 442 => 141, 438 => 140, 435 => 139, 431 => 138, 428 => 137, 425 => 136, 420 => 133, 410 => 129, 406 => 128, 401 => 126, 398 => 125, 394 => 124, 391 => 123, 388 => 122, 383 => 119, 374 => 116, 370 => 115, 367 => 114, 363 => 113, 360 => 112, 357 => 111, 352 => 108, 343 => 105, 339 => 104, 336 => 103, 332 => 102, 326 => 100, 318 => 95, 314 => 94, 310 => 92, 307 => 91, 302 => 88, 293 => 85, 283 => 83, 280 => 82, 276 => 81, 273 => 80, 270 => 79, 266 => 76, 264 => 75, 261 => 74, 255 => 71, 250 => 70, 245 => 69, 240 => 68, 235 => 67, 230 => 66, 225 => 65, 221 => 64, 218 => 63, 199 => 58, 180 => 56, 177 => 55, 175 => 54, 171 => 52, 169 => 51, 165 => 50, 159 => 49, 155 => 48, 152 => 47, 145 => 43, 138 => 39, 132 => 36, 110 => 27, 106 => 25, 150 => 47, 141 => 44, 137 => 43, 130 => 41, 121 => 37, 148 => 46, 139 => 44, 135 => 43, 129 => 35, 126 => 39, 122 => 37, 113 => 35, 109 => 34, 105 => 32, 100 => 30, 83 => 25, 80 => 15, 71 => 19, 25 => 3, 118 => 30, 104 => 24, 96 => 28, 90 => 27, 87 => 26, 84 => 23, 75 => 20, 57 => 14, 46 => 10, 125 => 64, 120 => 31, 107 => 59, 22 => 4, 91 => 19, 72 => 21, 67 => 11, 61 => 16, 55 => 9, 95 => 20, 59 => 26, 43 => 9, 142 => 39, 134 => 37, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 31, 99 => 30, 93 => 27, 86 => 17, 70 => 18, 64 => 17, 53 => 14, 24 => 3, 41 => 5, 39 => 7, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 101, 327 => 50, 316 => 49, 301 => 46, 289 => 84, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 57, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 41, 124 => 33, 117 => 35, 115 => 29, 102 => 32, 51 => 11, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 23, 97 => 29, 88 => 18, 85 => 15, 81 => 23, 77 => 14, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 23, 74 => 20, 69 => 20, 58 => 10, 54 => 13, 48 => 10, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 18, 66 => 18, 63 => 10, 45 => 9, 42 => 9, 36 => 3, 31 => 5, 20 => 8, 49 => 7, 37 => 7, 33 => 4, 30 => 6, 27 => 8, 26 => 3,);
+ }
+}
diff --git a/docs/API/cache/twig/a3/da/c4b98c2dde091af177026132a67a.php b/docs/API/cache/twig/a3/da/c4b98c2dde091af177026132a67a.php
new file mode 100644
index 0000000..c3a8427
--- /dev/null
+++ b/docs/API/cache/twig/a3/da/c4b98c2dde091af177026132a67a.php
@@ -0,0 +1,169 @@
+parent = $this->env->loadTemplate("layout/base.twig");
+
+ $this->blocks = array(
+ 'title' => array($this, 'block_title'),
+ 'body_class' => array($this, 'block_body_class'),
+ 'header' => array($this, 'block_header'),
+ 'content' => array($this, 'block_content'),
+ );
+ }
+
+ protected function doGetParent(array $context)
+ {
+ return "layout/base.twig";
+ }
+
+ protected function doDisplay(array $context, array $blocks = array())
+ {
+ // line 3
+ $context["__internal_a3dac4b98c2dde091af177026132a67a_1"] = $this->env->loadTemplate("macros.twig");
+ $this->parent->display($context, array_merge($this->blocks, $blocks));
+ }
+
+ // line 5
+ public function block_title($context, array $blocks = array())
+ {
+ echo twig_escape_filter($this->env, $this->getContext($context, "namespace"), "html", null, true);
+ echo " | ";
+ $this->displayParentBlock("title", $context, $blocks);
+ }
+
+ // line 7
+ public function block_body_class($context, array $blocks = array())
+ {
+ echo "frame";
+ }
+
+ // line 9
+ public function block_header($context, array $blocks = array())
+ {
+ // line 10
+ echo "
+";
+ }
+
+ // line 20
+ public function block_content($context, array $blocks = array())
+ {
+ // line 21
+ echo " ";
+ echo $context["__internal_a3dac4b98c2dde091af177026132a67a_1"]->getnamespace_link($this->getContext($context, "namespace"), array("target" => "main"));
+ echo "
+
+ ";
+ // line 23
+ if ($this->getContext($context, "classes")) {
+ // line 24
+ echo "
+ ";
+ // line 25
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "classes"));
+ foreach ($context['_seq'] as $context["_key"] => $context["class"]) {
+ // line 26
+ echo " - ";
+ echo $context["__internal_a3dac4b98c2dde091af177026132a67a_1"]->getclass_link($this->getContext($context, "class"), array("target" => "main"));
+ echo "
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['class'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 28
+ echo "
+ ";
+ }
+ // line 30
+ echo "
+ ";
+ // line 31
+ if ($this->getContext($context, "interfaces")) {
+ // line 32
+ echo " Interfaces
+
+ ";
+ // line 34
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "interfaces"));
+ foreach ($context['_seq'] as $context["_key"] => $context["class"]) {
+ // line 35
+ echo " - ";
+ echo $context["__internal_a3dac4b98c2dde091af177026132a67a_1"]->getclass_link($this->getContext($context, "class"), array("target" => "main"));
+ echo "
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['class'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 37
+ echo "
+ ";
+ }
+ // line 39
+ echo "
+ ";
+ // line 40
+ if ($this->getContext($context, "exceptions")) {
+ // line 41
+ echo " Exceptions
+
+ ";
+ // line 43
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "exceptions"));
+ foreach ($context['_seq'] as $context["_key"] => $context["class"]) {
+ // line 44
+ echo " - ";
+ echo $context["__internal_a3dac4b98c2dde091af177026132a67a_1"]->getclass_link($this->getContext($context, "class"), array("target" => "main"));
+ echo "
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['class'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 46
+ echo "
+ ";
+ }
+ }
+
+ public function getTemplateName()
+ {
+ return "namespace.twig";
+ }
+
+ public function isTraitable()
+ {
+ return false;
+ }
+
+ public function getDebugInfo()
+ {
+ return array ( 148 => 46, 139 => 44, 135 => 43, 129 => 40, 126 => 39, 122 => 37, 113 => 35, 109 => 34, 105 => 32, 100 => 30, 83 => 25, 80 => 24, 71 => 13, 25 => 3, 118 => 35, 104 => 33, 96 => 28, 90 => 27, 87 => 26, 84 => 25, 75 => 21, 57 => 14, 46 => 10, 125 => 64, 120 => 61, 107 => 59, 22 => 4, 91 => 27, 72 => 21, 67 => 11, 61 => 15, 55 => 7, 95 => 27, 59 => 26, 43 => 7, 142 => 39, 134 => 36, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 31, 99 => 30, 93 => 28, 86 => 50, 70 => 18, 64 => 18, 53 => 14, 24 => 3, 41 => 8, 39 => 7, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 51, 327 => 50, 316 => 49, 301 => 46, 289 => 45, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 26, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 41, 124 => 13, 117 => 11, 115 => 10, 102 => 32, 51 => 11, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 28, 97 => 55, 88 => 27, 85 => 15, 81 => 23, 77 => 21, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 23, 74 => 20, 69 => 20, 58 => 13, 54 => 13, 48 => 10, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 19, 66 => 18, 63 => 10, 45 => 9, 42 => 9, 36 => 5, 31 => 5, 20 => 8, 49 => 12, 37 => 6, 33 => 4, 30 => 6, 27 => 8, 26 => 3,);
+ }
+}
diff --git a/docs/API/cache/twig/c1/af/a775bb7083f4c61199158c9a0760.php b/docs/API/cache/twig/c1/af/a775bb7083f4c61199158c9a0760.php
new file mode 100644
index 0000000..837c2df
--- /dev/null
+++ b/docs/API/cache/twig/c1/af/a775bb7083f4c61199158c9a0760.php
@@ -0,0 +1,111 @@
+parent = false;
+
+ $this->blocks = array(
+ );
+ }
+
+ protected function doDisplay(array $context, array $blocks = array())
+ {
+ // line 1
+ echo "var tree = ";
+ echo twig_escape_filter($this->env, $this->getAttribute($this, "element", array(0 => $this->getContext($context, "tree")), "method"), "html", null, true);
+ echo "
+
+";
+ }
+
+ // line 3
+ public function getelement($tree = null)
+ {
+ $context = $this->env->mergeGlobals(array(
+ "tree" => $tree,
+ ));
+
+ $blocks = array();
+
+ ob_start();
+ try {
+ // line 5
+ echo "[";
+ // line 6
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "tree"));
+ $context['loop'] = array(
+ 'parent' => $context['_parent'],
+ 'index0' => 0,
+ 'index' => 1,
+ 'first' => true,
+ );
+ if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) {
+ $length = count($context['_seq']);
+ $context['loop']['revindex0'] = $length - 1;
+ $context['loop']['revindex'] = $length;
+ $context['loop']['length'] = $length;
+ $context['loop']['last'] = 1 === $length;
+ }
+ foreach ($context['_seq'] as $context["_key"] => $context["element"]) {
+ // line 7
+ echo "[";
+ // line 8
+ echo twig_jsonencode_filter($this->getAttribute($this->getContext($context, "element"), 0, array(), "array"));
+ echo ",";
+ // line 9
+ echo (($this->getAttribute($this->getContext($context, "element"), 1, array(), "array")) ? (twig_jsonencode_filter((((!$this->getAttribute($this->getContext($context, "element"), 2, array(), "array"))) ? ($this->env->getExtension('sami')->pathForClass($context, $this->getAttribute($this->getContext($context, "element"), 1, array(), "array"))) : ($this->env->getExtension('sami')->pathForNamespace($context, $this->getAttribute($this->getContext($context, "element"), 1, array(), "array")))))) : (""));
+ echo ",";
+ // line 10
+ echo twig_jsonencode_filter(((((!$this->getAttribute($this->getContext($context, "element"), 2, array(), "array")) && $this->getAttribute($this->getAttribute($this->getContext($context, "element"), 1, array(), "array"), "parent"))) ? ((" < " . $this->getAttribute($this->getAttribute($this->getAttribute($this->getContext($context, "element"), 1, array(), "array"), "parent"), "shortname"))) : ("")));
+ echo ",
+ ";
+ // line 11
+ echo $this->getAttribute($this, "element", array(0 => $this->getAttribute($this->getContext($context, "element"), 2, array(), "array")), "method");
+ // line 12
+ echo "]";
+ // line 13
+ echo (($this->getAttribute($this->getContext($context, "loop"), "last")) ? ("") : (","));
+ ++$context['loop']['index0'];
+ ++$context['loop']['index'];
+ $context['loop']['first'] = false;
+ if (isset($context['loop']['length'])) {
+ --$context['loop']['revindex0'];
+ --$context['loop']['revindex'];
+ $context['loop']['last'] = 0 === $context['loop']['revindex0'];
+ }
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['element'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 15
+ echo " ]";
+ } catch(Exception $e) {
+ ob_end_clean();
+
+ throw $e;
+ }
+
+ return ob_get_clean();
+ }
+
+ public function getTemplateName()
+ {
+ return "tree.twig";
+ }
+
+ public function isTraitable()
+ {
+ return false;
+ }
+
+ public function getDebugInfo()
+ {
+ return array ( 71 => 13, 25 => 3, 118 => 35, 104 => 33, 96 => 29, 90 => 27, 87 => 26, 84 => 25, 75 => 21, 57 => 8, 46 => 10, 125 => 64, 120 => 61, 107 => 59, 22 => 4, 91 => 27, 72 => 20, 67 => 11, 61 => 5, 55 => 7, 95 => 27, 59 => 26, 43 => 7, 142 => 39, 134 => 36, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 58, 99 => 30, 93 => 28, 86 => 50, 70 => 18, 64 => 18, 53 => 14, 24 => 3, 41 => 8, 39 => 9, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 51, 327 => 50, 316 => 49, 301 => 46, 289 => 45, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 26, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 15, 124 => 13, 117 => 11, 115 => 10, 102 => 32, 51 => 12, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 28, 97 => 55, 88 => 27, 85 => 15, 81 => 23, 77 => 21, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 22, 74 => 20, 69 => 12, 58 => 13, 54 => 13, 48 => 11, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 19, 66 => 18, 63 => 10, 45 => 10, 42 => 9, 36 => 5, 31 => 5, 20 => 8, 49 => 12, 37 => 6, 33 => 4, 30 => 6, 27 => 8, 26 => 5,);
+ }
+}
diff --git a/docs/API/cache/twig/f8/4d/6231490fc53718fc429c4e715f9c.php b/docs/API/cache/twig/f8/4d/6231490fc53718fc429c4e715f9c.php
new file mode 100644
index 0000000..319d253
--- /dev/null
+++ b/docs/API/cache/twig/f8/4d/6231490fc53718fc429c4e715f9c.php
@@ -0,0 +1,171 @@
+blocks = array(
+ 'title' => array($this, 'block_title'),
+ 'body_class' => array($this, 'block_body_class'),
+ 'content_header' => array($this, 'block_content_header'),
+ 'content' => array($this, 'block_content'),
+ );
+ }
+
+ protected function doGetParent(array $context)
+ {
+ return $this->env->resolveTemplate($this->getContext($context, "page_layout"));
+ }
+
+ protected function doDisplay(array $context, array $blocks = array())
+ {
+ // line 3
+ $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"] = $this->env->loadTemplate("macros.twig");
+ $this->getParent($context)->display($context, array_merge($this->blocks, $blocks));
+ }
+
+ // line 5
+ public function block_title($context, array $blocks = array())
+ {
+ echo twig_escape_filter($this->env, $this->getContext($context, "namespace"), "html", null, true);
+ echo " | ";
+ $this->displayParentBlock("title", $context, $blocks);
+ }
+
+ // line 7
+ public function block_body_class($context, array $blocks = array())
+ {
+ echo "overview";
+ }
+
+ // line 9
+ public function block_content_header($context, array $blocks = array())
+ {
+ // line 10
+ echo " Namespace
+ ";
+ // line 11
+ echo twig_escape_filter($this->env, $this->getContext($context, "namespace"), "html", null, true);
+ echo "
+";
+ }
+
+ // line 14
+ public function block_content($context, array $blocks = array())
+ {
+ // line 15
+ echo " ";
+ if ($this->getContext($context, "classes")) {
+ // line 16
+ echo "
+ ";
+ // line 17
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "classes"));
+ foreach ($context['_seq'] as $context["_key"] => $context["class"]) {
+ // line 18
+ echo "
+ | ";
+ // line 19
+ echo $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"]->getclass_link($this->getContext($context, "class"));
+ echo " |
+ ";
+ // line 20
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "class"), "shortdesc"), $this->getContext($context, "class")), "html", null, true));
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['class'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 23
+ echo "
+ ";
+ }
+ // line 25
+ echo "
+ ";
+ // line 26
+ if ($this->getContext($context, "interfaces")) {
+ // line 27
+ echo " Interfaces
+
+ ";
+ // line 29
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "interfaces"));
+ foreach ($context['_seq'] as $context["_key"] => $context["interface"]) {
+ // line 30
+ echo "
+ | ";
+ // line 31
+ echo $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"]->getclass_link($this->getContext($context, "interface"));
+ echo " |
+ ";
+ // line 32
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "interface"), "shortdesc"), $this->getContext($context, "interface")), "html", null, true));
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['interface'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 35
+ echo "
+ ";
+ }
+ // line 37
+ echo "
+ ";
+ // line 38
+ if ($this->getContext($context, "exceptions")) {
+ // line 39
+ echo " Exceptions
+
+ ";
+ // line 41
+ $context['_parent'] = (array) $context;
+ $context['_seq'] = twig_ensure_traversable($this->getContext($context, "exceptions"));
+ foreach ($context['_seq'] as $context["_key"] => $context["exception"]) {
+ // line 42
+ echo "
+ | ";
+ // line 43
+ echo $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"]->getclass_link($this->getContext($context, "exception"));
+ echo " |
+ ";
+ // line 44
+ echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "exception"), "shortdesc"), $this->getContext($context, "exception")), "html", null, true));
+ echo " |
+
+ ";
+ }
+ $_parent = $context['_parent'];
+ unset($context['_seq'], $context['_iterated'], $context['_key'], $context['exception'], $context['_parent'], $context['loop']);
+ $context = array_merge($_parent, array_intersect_key($context, $_parent));
+ // line 47
+ echo "
+ ";
+ }
+ }
+
+ public function getTemplateName()
+ {
+ return "pages/namespace.twig";
+ }
+
+ public function isTraitable()
+ {
+ return false;
+ }
+
+ public function getDebugInfo()
+ {
+ return array ( 150 => 47, 141 => 44, 137 => 43, 130 => 41, 121 => 37, 148 => 46, 139 => 44, 135 => 43, 129 => 40, 126 => 39, 122 => 37, 113 => 35, 109 => 34, 105 => 32, 100 => 30, 83 => 25, 80 => 24, 71 => 19, 25 => 3, 118 => 35, 104 => 31, 96 => 28, 90 => 27, 87 => 26, 84 => 23, 75 => 20, 57 => 14, 46 => 10, 125 => 64, 120 => 61, 107 => 59, 22 => 4, 91 => 26, 72 => 21, 67 => 11, 61 => 16, 55 => 14, 95 => 27, 59 => 26, 43 => 9, 142 => 39, 134 => 42, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 31, 99 => 30, 93 => 27, 86 => 50, 70 => 18, 64 => 17, 53 => 14, 24 => 3, 41 => 8, 39 => 7, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 51, 327 => 50, 316 => 49, 301 => 46, 289 => 45, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 26, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 41, 124 => 38, 117 => 35, 115 => 10, 102 => 32, 51 => 11, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 30, 97 => 29, 88 => 25, 85 => 15, 81 => 23, 77 => 21, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 23, 74 => 20, 69 => 20, 58 => 15, 54 => 13, 48 => 10, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 18, 66 => 18, 63 => 10, 45 => 9, 42 => 9, 36 => 5, 31 => 5, 20 => 8, 49 => 11, 37 => 7, 33 => 4, 30 => 6, 27 => 8, 26 => 3,);
+ }
+}
diff --git a/docs/API/classes-frame.html b/docs/API/classes-frame.html
new file mode 100644
index 0000000..5beb83a
--- /dev/null
+++ b/docs/API/classes-frame.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+ All Classes | PHP FFMpeg API
+
+
+
diff --git a/docs/API/classes.html b/docs/API/classes.html
new file mode 100644
index 0000000..0b4ff5c
--- /dev/null
+++ b/docs/API/classes.html
@@ -0,0 +1,215 @@
+
+
+
+
+
+ Classes | PHP FFMpeg API
+
+
+
+
+
+
+
+
diff --git a/docs/API/css/main.css b/docs/API/css/main.css
new file mode 100644
index 0000000..17608f6
--- /dev/null
+++ b/docs/API/css/main.css
@@ -0,0 +1,214 @@
+/*
+Copyright (c) 2009 Vladimir Kolesnikov
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+a {
+ color: #00F;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #77F;
+ text-decoration: underline;
+}
+
+body, td, p {
+ font-family: "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
+ background: #FFF;
+ color: #000;
+ margin: 0px;
+ font-size: small;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+#content {
+ margin: 2em;
+ margin-left: 3.5em;
+ margin-right: 3.5em;
+}
+
+#description p {
+ margin-bottom: 0.5em;
+}
+
+.sectiontitle {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ padding: 0.5em;
+ padding-left: 2em;
+ background: #005;
+ color: #FFF;
+ font-weight: bold;
+}
+
+.attr-rw {
+ padding-left: 1em;
+ padding-right: 1em;
+ text-align: center;
+ color: #055;
+}
+
+.attr-name {
+ font-weight: bold;
+}
+
+.attr-desc {
+}
+
+.attr-desc p {
+ margin-top: 0;
+}
+
+.attr-value {
+ font-family: monospace;
+}
+
+.file-title-prefix {
+ font-size: large;
+}
+
+.file-title {
+ font-size: large;
+ font-weight: bold;
+ background: #005;
+ color: #FFF;
+}
+
+.banner {
+ background: #005;
+ color: #FFF;
+ border: 1px solid black;
+ padding: 1em;
+}
+
+.banner td {
+ background: transparent;
+ color: #FFF;
+}
+
+h1 a, h2 a, .sectiontitle a, .banner a {
+ color: #FF0;
+}
+
+h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover {
+ color: #FF7;
+}
+
+.dyn-source {
+ display: none;
+ background: #fffde8;
+ color: #000;
+ border: #ffe0bb dotted 1px;
+ margin: 0.5em 2em 0.5em 2em;
+ padding: 0.5em;
+}
+
+.dyn-source .cmt {
+ color: #00F;
+ font-style: italic;
+}
+
+.dyn-source .kw {
+ color: #070;
+ font-weight: bold;
+}
+
+.method {
+ margin-left: 1em;
+ margin-right: 1em;
+ margin-bottom: 1em;
+}
+
+.description pre {
+ padding: 0.5em;
+ border: #ffe0bb dotted 1px;
+ background: #fffde8;
+}
+
+.method .title {
+ font-family: monospace;
+ font-size: large;
+ border-bottom: 1px dashed black;
+ margin-bottom: 0.3em;
+ padding-bottom: 0.1em;
+}
+
+.method .description, .method .sourcecode {
+ margin-left: 1em;
+}
+
+.description p, .sourcecode p {
+ margin-bottom: 0.5em;
+}
+
+.method .sourcecode p.source-link {
+ text-indent: 0em;
+ margin-top: 0.5em;
+}
+
+.method .aka {
+ margin-top: 0.3em;
+ margin-left: 1em;
+ font-style: italic;
+ text-indent: 2em;
+}
+
+h1 {
+ padding: 1em;
+ margin-left: -1.5em;
+ font-size: x-large;
+ font-weight: bold;
+ color: #FFF;
+ background: #007;
+}
+
+h2 {
+ padding: 0.5em 1em 0.5em 1em;
+ margin-left: -1.5em;
+ font-size: large;
+ font-weight: bold;
+ color: #FFF;
+ background: #009;
+}
+
+h3, h4, h5, h6 {
+ color: #220088;
+ border-bottom: #5522bb solid 1px;
+}
+
+.sourcecode > pre {
+ padding: 0.5em;
+ border: 1px dotted black;
+ background: #FFE;
+}
+
+dt {
+ font-weight: bold
+}
+
+dd {
+ margin-bottom: 0.7em;
+}
\ No newline at end of file
diff --git a/docs/API/css/panel.css b/docs/API/css/panel.css
new file mode 100644
index 0000000..b7565b2
--- /dev/null
+++ b/docs/API/css/panel.css
@@ -0,0 +1,427 @@
+/*
+Copyright (c) 2009 Vladimir Kolesnikov
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+/* Panel (begin) */
+ .panel
+ {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ background: #FFF;
+ z-index: 2;
+ font-family: "Helvetica Neue", "Arial", sans-serif;
+ //zoom: 1;
+ }
+
+ .panel_tree .results,
+ .panel_results .tree
+ {
+ display: none;
+ }
+
+ /* Header with search box (begin) */
+ .panel .header
+ {
+ width: 100%;
+ height: 59px;
+ border-bottom: 1px solid #666;
+ position: relative;
+ left: 0; top: 0;
+ background: #e8e8e8;
+ }
+
+ .panel .header div.nav
+ {
+ padding-top: 7px;
+ margin: 0 7px;
+ }
+
+ .panel .header table
+ {
+ height: 29px;
+ width: 100%;
+ }
+
+ .panel .header table td
+ {
+ vertical-align: middle;
+ text-align: middle;
+ }
+
+ .panel .header form
+ {
+ float: right;
+ text-align: bottom;
+ }
+
+ .panel .header h1
+ {
+ float: left;
+ font-size: 14px;
+ font-weight: normal;
+ color: #777;
+ text-align: bottom;
+ }
+
+ .panel .header input
+ {
+ width: 100%;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ display: inline-block;
+ -webkit-appearance: searchfield;
+ height: 22px;
+ //height: auto;
+ }
+
+ /* Header with search box (end) */
+
+
+ /* Results (begin) */
+ .panel .result
+ {
+ position: absolute;
+ top: 60px;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ //height: expression((this.parentNode.offsetHeight - 31));
+ overflow-y: scroll;
+ overflow-x: hidden;
+ -overflow-y: hidden;
+ background: #EDF3FE url(../i/results_bg.png);
+ z-index: 2;
+ //zoom:1;
+ }
+
+ .panel .result ul
+ {
+ font-size: 0.8em;
+ width: 100%;
+ background: #EDF3FE url(../i/results_bg.png);
+ //zoom:1;
+ }
+
+ .panel .result ul li
+ {
+ height: 46px;
+ -height: 50px;
+ //display: inline;
+ //width: 100%;
+ //zoom: 1;
+ overflow: hidden;
+ padding: 4px 10px 0 10px;
+ cursor: pointer;
+ }
+
+ .panel .result ul li h1
+ {
+ font-size: 13px;
+ font-weight: normal;
+ color: #333;
+ margin-bottom: 2px;
+ white-space: nowrap;
+ }
+
+ .panel .result ul li p
+ {
+ font-size: 11px;
+ color: #333;
+ margin-bottom: 2px;
+ white-space: nowrap;
+ }
+
+ .panel .result ul li h1 i,
+ .panel .result ul li p.snippet
+ {
+ color: #999;
+ }
+
+ .panel .result ul li b
+ {
+ color: #000;
+ }
+
+ .panel .result ul li.current
+ {
+ background: #3875D7;
+ }
+
+ .panel .result ul li.current h1,
+ .panel .result ul li.current p
+ {
+ color: #DDD;
+ }
+
+ .panel .result ul li.current h1 i,
+ .panel .result ul li.current p.snippet
+ {
+ color: #AAA;
+ }
+
+ .panel .result ul li.current b
+ {
+ color: #FFF;
+ }
+
+
+ .panel .result ul li:hover,
+ .panel .result ul li.selected
+ {
+ background: #d0d0d0;
+ }
+
+ .panel .result ul li.current:hover
+ {
+ background: #2965C0;
+ }
+
+ .panel .result ul li .badge
+ {
+ margin-right: 0.4em;
+ margin-left: -0.2em;
+ padding: 0 0.2em;
+ color: #000;
+ }
+
+ .panel .result ul li .badge_1
+ {
+ background: #ACDBF4;
+ }
+
+ .panel .result ul li.current .badge_1
+ {
+ background: #97BFD7;
+ }
+
+ .panel .result ul li .badge_2
+ {
+ background: #ACF3C3;
+ }
+
+ .panel .result ul li.current .badge_2
+ {
+ background: #98D7AC;
+ }
+
+ .panel .result ul li .badge_3
+ {
+ background: #E0F3AC;
+ }
+
+ .panel .result ul li.current .badge_3
+ {
+ background: #C4D798;
+ }
+
+ .panel .result ul li .badge_4
+ {
+ background: #D7CA98;
+ }
+
+ .panel .result ul li.current .badge_4
+ {
+ background: #A6B0AC;
+ }
+
+ .panel .result ul li .badge_5
+ {
+ background: #F3C8AC;
+ }
+
+ .panel .result ul li.current .badge_5
+ {
+ background: #D7B198;
+ }
+
+ .panel .result ul li .badge_6
+ {
+ background: #F3ACC3;
+ }
+
+ .panel .result ul li.current .badge_6
+ {
+ background: #D798AB;
+ }
+
+ /* Results (end) */
+
+ /* Tree (begin) */ /**/
+ .panel .tree
+ {
+ position: absolute;
+ top: 60px;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ //zoom: 1;
+ //height: expression((this.parentNode.offsetHeight - 31));
+ overflow-y: scroll;
+ overflow-x: hidden;
+ -overflow-y: hidden;
+ background: #EDF3FE url(../i/tree_bg.png);
+ z-index: 30;
+ }
+
+ .panel .tree ul
+ {
+ background: #EDF3FE url(../i/tree_bg.png);
+ }
+
+ .panel .tree li
+ {
+ cursor: pointer;
+ overflow: hidden;
+ //height: 23px;
+ //display: inline;
+ //zoom: 1;
+ //width: 100%;
+ }
+
+
+ .panel .tree li .content
+ {
+ padding-left: 18px;
+ padding-top: 5px;
+ height: 18px;
+ overflow: hidden;
+ position: relative;
+ }
+
+ .panel .tree li .icon
+ {
+ width: 10px;
+ height: 9px;
+ background: url(../i/arrows.png);
+ background-position: 0 -9px;
+ position: absolute;
+ left: 1px;
+ top: 8px;
+ cursor: default;
+ }
+
+ .panel .tree li.closed .icon
+ {
+ background-position: 0 0;
+ }
+
+ .panel .tree ul li h1
+ {
+ font-size: 13px;
+ font-weight: normal;
+ color: #000;
+ margin-bottom: 2px;
+ white-space: nowrap;
+ }
+
+ .panel .tree ul li p
+ {
+ font-size: 11px;
+ color: #666;
+ margin-bottom: 2px;
+ white-space: nowrap;
+ }
+
+ .panel .tree ul li h1 i
+ {
+ color: #999;
+ font-style: normal;
+ }
+
+ .panel .tree ul li.empty
+ {
+ cursor: text;
+ }
+
+ .panel .tree ul li.empty h1,
+ .panel .tree ul li.empty p
+ {
+ color: #666;
+ font-style: italic;
+ }
+
+ .panel .tree ul li.current
+ {
+ background: #3875D7;
+ }
+
+ .panel .tree ul li.current .icon
+ {
+ background-position: -10px -9px;
+ }
+
+ .panel .tree ul li.current.closed .icon
+ {
+ background-position: -10px 0;
+ }
+
+ .panel .tree ul li.current h1
+ {
+ color: #FFF;
+ }
+
+ .panel .tree ul li.current p
+ {
+ color: #CCC;
+ }
+
+ .panel .tree ul li.current.empty h1,
+ .panel .tree ul li.current.empty p
+ {
+ color: #999;
+ }
+
+ .panel .tree ul li:hover
+ {
+ background: #d0d0d0;
+ }
+
+ .panel .tree ul li.current:hover
+ {
+ background: #2965C0;
+ }
+
+ .panel .tree .stopper
+ {
+ display: none;
+ }
+ /* Tree (end) */ /**/
+
+/* Panel (end) */
+
+
+.panel .loader
+{
+ text-align: center;
+ margin-top: 2px;
+ width: 100%;
+ height: 59px;
+}
+
+.panel .loader img
+{
+ vertical-align: middle;
+}
diff --git a/docs/API/css/reset.css b/docs/API/css/reset.css
new file mode 100644
index 0000000..13f8e0a
--- /dev/null
+++ b/docs/API/css/reset.css
@@ -0,0 +1,53 @@
+/* http://meyerweb.com/eric/tools/css/reset/ */
+/* v1.0 | 20080212 */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-size: 100%;
+ vertical-align: baseline;
+ background: transparent;
+}
+body {
+ line-height: 1;
+}
+ol, ul {
+ list-style: none;
+}
+blockquote, q {
+ quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+
+/* remember to define focus styles! */
+:focus {
+ outline: 0;
+}
+
+/* remember to highlight inserts somehow! */
+ins {
+ text-decoration: none;
+}
+del {
+ text-decoration: line-through;
+}
+
+/* tables still need 'cellspacing="0"' in the markup */
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
\ No newline at end of file
diff --git a/docs/API/doc-index.html b/docs/API/doc-index.html
new file mode 100644
index 0000000..326fa31
--- /dev/null
+++ b/docs/API/doc-index.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+ Index | PHP FFMpeg API
+
+
+
+
+
+
A
+
- AdapterInterface — Class in namespace FFMpeg
+ - FFMpeg Adapter interface
- Audio — Class in namespace FFMpeg\Format
+ - The base audio interface
B
+
- Binary — Class in namespace FFMpeg
+ - Binary abstract class
- BinaryNotFoundException — Class in namespace FFMpeg\Exception
+
C
+
- FFMpeg::close() — Method in class FFMpeg
+ - Close a file
D
+
- DefaultAudio — Class in namespace FFMpeg\Format\Audio
+ - The abstract default Audio format
- DefaultVideo — Class in namespace FFMpeg\Format\Video
+ - The abstract default Video format
E
+
- Exception — Class in namespace FFMpeg\Exception
+ - FFMpeg::extractImage() — Method in class FFMpeg
+ - FFMpeg::encode() — Method in class FFMpeg
+ - Encode the file to the specified format
F
+
- FFMpeg — Class in namespace FFMpeg
+ - FFMpeg driver
- FFProbe — Class in namespace FFMpeg
+ - FFProbe driver
- Flac — Class in namespace FFMpeg\Format\Audio
+ - The Flac audio format
G
+
- Audio::getAudioCodec() — Method in class Audio
+ - Returns the audio codec
- Audio::getKiloBitrate() — Method in class Audio
+ - Get the kiloBitrate value
- DefaultAudio::getExtraParams() — Method in class DefaultAudio
+ - Returns extra parameters for the encoding
- DefaultAudio::getAudioCodec() — Method in class DefaultAudio
+ - {@inheritdoc}
- DefaultAudio::getAudioSampleRate() — Method in class DefaultAudio
+ - Get the audio sample rate
- DefaultAudio::getKiloBitrate() — Method in class DefaultAudio
+ - {@inheritdoc}
- Flac::getAvailableAudioCodecs() — Method in class Flac
+ - {@inheritDoc}
- InteractiveAudio::getAvailableAudioCodecs() — Method in class InteractiveAudio
+ - Returns the list of available audio codecs for this format
- Mp3::getAvailableAudioCodecs() — Method in class Mp3
+ - {@inheritDoc}
- ResamplableAudio::getAudioSampleRate() — Method in class ResamplableAudio
+ - Get the audio sample rate
- Video::getVideoCodec() — Method in class Video
+ - Returns the video codec
- DefaultVideo::getWidth() — Method in class DefaultVideo
+ - Returns the width setting.
- DefaultVideo::getHeight() — Method in class DefaultVideo
+ - Returns the height setting The return of this method should not depend on a media file size
- DefaultVideo::getComputedDimensions() — Method in class DefaultVideo
+ - {@inheritdoc)
- DefaultVideo::getResizeMode() — Method in class DefaultVideo
+ - Get the current resize mode name
- DefaultVideo::getFrameRate() — Method in class DefaultVideo
+ - Returns the frame rate
- DefaultVideo::getVideoCodec() — Method in class DefaultVideo
+ - {@inheritdoc}
- DefaultVideo::getGOPsize() — Method in class DefaultVideo
+ - {@inheritdoc}
- InteractiveVideo::getAvailableVideoCodecs() — Method in class InteractiveVideo
+ - Returns the list of available video codecs for this format
- Ogg::getAvailableAudioCodecs() — Method in class Ogg
+ - {@inheritDoc}
- Ogg::getAvailableVideoCodecs() — Method in class Ogg
+ - {@inheritDoc}
- ResamplableVideo::getFrameRate() — Method in class ResamplableVideo
+ - Returns the frame rate
- ResamplableVideo::getGOPSize() — Method in class ResamplableVideo
+ - Returns the GOP size
- ResizableVideo::getWidth() — Method in class ResizableVideo
+ - Returns the width setting.
- ResizableVideo::getHeight() — Method in class ResizableVideo
+ - Returns the height setting The return of this method should not depend on a media file size
- ResizableVideo::getComputedDimensions() — Method in class ResizableVideo
+ - Returns the computed dimensions for the resize, after operation.
- ResizableVideo::getResizeMode() — Method in class ResizableVideo
+ - Get the current resize mode name
- WebM::getExtraParams() — Method in class WebM
+ - {@inheritDoc}
- WebM::getAvailableAudioCodecs() — Method in class WebM
+ - {@inheritDoc}
- WebM::getAvailableVideoCodecs() — Method in class WebM
+ - {@inheritDoc}
- X264::getAvailableAudioCodecs() — Method in class X264
+ - {@inheritDoc}
- X264::getAvailableVideoCodecs() — Method in class X264
+ - {@inheritDoc}
I
+
- InvalidArgumentException — Class in namespace FFMpeg\Exception
+ - InteractiveAudio — Class in namespace FFMpeg\Format\Audio
+ - The interactive audio interface.
- InteractiveVideo — Class in namespace FFMpeg\Format\Video
+ - The interactive video interface.
L
+
- AdapterInterface::load() — Method in class AdapterInterface
+ - Loads the adapter
- Binary::load() — Method in class Binary
+ - Loads the adapter
- LogicException — Class in namespace FFMpeg\Exception
+
M
+
- Mp3 — Class in namespace FFMpeg\Format\Audio
+ - The MP3 audio format
O
+
- FFMpeg::open() — Method in class FFMpeg
+ - Opens a file in order to be processed
- Ogg — Class in namespace FFMpeg\Format\Video
+ - The Ogg video format
P
+
- FFProbe::probeFormat() — Method in class FFProbe
+ - Probe the format of a given file
- FFProbe::probeStreams() — Method in class FFProbe
+ - Probe the streams contained in a given file
R
+
- RuntimeException — Class in namespace FFMpeg\Exception
+ - ResamplableAudio — Class in namespace FFMpeg\Format\Audio
+ - The resamplable audio interface
- ResamplableVideo — Class in namespace FFMpeg\Format\Video
+ - The resamplable video interface
- ResizableVideo — Class in namespace FFMpeg\Format\Video
+ - The resizable video interface
S
+
- FFMpeg::setProber() — Method in class FFMpeg
+ - Set a prober
- DefaultAudio::setAudioCodec() — Method in class DefaultAudio
+ - Set the audio codec, Should be in the available ones, otherwise an exception is thrown
- DefaultAudio::setAudioSampleRate() — Method in class DefaultAudio
+ - Set the audio sample rate
- DefaultAudio::setKiloBitrate() — Method in class DefaultAudio
+ - Set the kiloBitrate value
- DefaultVideo::setDimensions() — Method in class DefaultVideo
+ - Set the dimensions
- DefaultVideo::setResizeMode() — Method in class DefaultVideo
+ - Set the resize mode
- DefaultVideo::setFrameRate() — Method in class DefaultVideo
+ - Set the framerate
- DefaultVideo::setVideoCodec() — Method in class DefaultVideo
+ - Set the video codec, Should be in the available ones, otherwise an exception is thrown
- DefaultVideo::setGOPsize() — Method in class DefaultVideo
+ - Set the GOP size
V
+
- Video — Class in namespace FFMpeg\Format
+ - The base video interface
W
+
- WebM — Class in namespace FFMpeg\Format\Video
+ - The WebM video format
X
+
- X264 — Class in namespace FFMpeg\Format\Video
+ - The X264 video format
_
+
- Binary::__construct() — Method in class Binary
+ - Binary constructor
- Binary::__destruct() — Method in class Binary
+ - Destructor
- FFMpeg::__destruct() — Method in class FFMpeg
+ - Destructor
+
+
+
diff --git a/docs/API/i/arrows.png b/docs/API/i/arrows.png
new file mode 100644
index 0000000..e54060f
Binary files /dev/null and b/docs/API/i/arrows.png differ
diff --git a/docs/API/i/loader.gif b/docs/API/i/loader.gif
new file mode 100644
index 0000000..e2a116c
Binary files /dev/null and b/docs/API/i/loader.gif differ
diff --git a/docs/API/i/results_bg.png b/docs/API/i/results_bg.png
new file mode 100644
index 0000000..199ba69
Binary files /dev/null and b/docs/API/i/results_bg.png differ
diff --git a/docs/API/i/tree_bg.png b/docs/API/i/tree_bg.png
new file mode 100644
index 0000000..7d23663
Binary files /dev/null and b/docs/API/i/tree_bg.png differ
diff --git a/docs/API/index.html b/docs/API/index.html
new file mode 100644
index 0000000..d607048
--- /dev/null
+++ b/docs/API/index.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+ PHP FFMpeg API
+
+
+
+
diff --git a/docs/API/interfaces.html b/docs/API/interfaces.html
new file mode 100644
index 0000000..35731ae
--- /dev/null
+++ b/docs/API/interfaces.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+ Interfaces | PHP FFMpeg API
+
+
+
+
+
+
+
+
diff --git a/docs/API/js/jquery-1.3.2.min.js b/docs/API/js/jquery-1.3.2.min.js
new file mode 100644
index 0000000..b1ae21d
--- /dev/null
+++ b/docs/API/js/jquery-1.3.2.min.js
@@ -0,0 +1,19 @@
+/*
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,""]||!O.indexOf("
",""]||(!O.indexOf(" | ","
"]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.3
+ * Copyright 2009, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(Fa';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("").append(M.responseText.replace(/
+
+
+
+
+
+
+
+

loading...
+
+
+
+
+
+
+