enigma2
2.6
|
Public Member Functions | |
def | __init__ (self, *args, **kwargs) |
def | getInstance () |
def | resetDatabase (self) |
def | getCurrentScanPath (self) |
def | getEnqueuedPaths (self, OUTPUT) |
def | addPath (self, path, watch=False) |
def | rescanPath (self, path, isRecording=False) |
def | requestScanStatistics (self) |
def | setParentDirectoryWatched (self, dir_id, watched) |
def | deleteParentDirectory (self, dir_id) |
def | getParentDirectories (self) |
def | getAllDirectories (self) |
def | filterAudio (self, needle, limit=-1, offset=0) |
def | filterByAlbum (self, album, limit=-1, offset=0) |
def | filterByArtistAlbum (self, artist, album, limit=-1, offset=0) |
def | filterByAlbumArtistAlbum (self, artist, album, limit=-1, offset=0) |
def | filterByArtist (self, artist, limit=-1, offset=0) |
def | filterByAlbumArtist (self, artist, limit=-1, offset=0) |
def | filterByGenre (self, genre, limit=-1, offset=0) |
def | filterByTitle (self, title, limit=-1, offset=0) |
def | getAllArtists (self, limit=-1, offset=0) |
def | getAllAlbumArtists (self, limit=-1, offset=0) |
def | getArtists (self, artist, limit=-1, offset=0) |
def | getAllAlbums (self, limit=-1, offset=0) |
def | getAlbums (self, album, limit=-1, offset=0) |
def | getAlbumsByArtist (self, artist, limit=-1, offset=0) |
def | getAlbumsByAlbumArtist (self, album_artist, limit=-1, offset=0) |
def | getTracksByAlbumId (self, album_id) |
def | getAllAudio (self, limit=-1, offset=0) |
def | getAllVideos (self, limit=-1, offset=0) |
def | getVideos (self, *args) |
def | addRecording (self, *args) |
def | getAllRecordings (self, limit=-1, offset=0) |
def | getRecordings (self, *args) |
def | getRecordMeta (self, file_id) |
def | setRecordMeta (self, file_id, ref, name, description, service_data, duration, filesize, lastmodified, created) |
def | getRecordEit (self, file_id) |
def | setRecordEit (self, file_id, eit_raw, update=False) |
def | getRecordTags (self, file_id) |
def | setRecordTags (self, file_id, tags) |
def | setLastPlayed (self, file_id, lastplayed, lastplaypos) |
def | getLastPlayed (self, file_id, lastplayed, lastplaypos) |
def | getFileByPath (self, filepath) |
def | setFileAttribute (self, file_id, key, value) |
def | deleteFileAttribute (self, file_id, key) |
def | getFileAttributes (self, file_id) |
def | getFileAttribute (self, file_id, key) |
def | getFileAttributeValue (self, file_id, key) |
def | getCoverArt (self, *args) |
def | getCoverArtData (self, *args) |
def | getAlbumCoverArt (self, *args) |
def | getAlbumCoverArtData (self, album_id) |
def | getAlbumCoverArtId (self, album_id) |
def | addPlaylist (self, name, type) |
def | getPlaylist (self, id) |
def | getPlaylistByName (self, name, type) |
def | getPlaylistItemsById (self, id) |
def | getPlaylistItemsByName (self, name, type=-1) |
def | getPlaylists (self, type=-1) |
def | addToPlaylistById (self, playlist_id, file_id, pos) |
def | addToPlaylistByUri (self, playlist_id, uri, pos, attributes) |
def | updatePlaylistItem (self, playlist_id, item) |
def | clearPlaylist (self, playlist_id) |
def | savePlaylist (self, playlist_id, name, type, items) |
def | removeFile (self, file_id) |
def | query (self, *args) |
def enigma.eMediaDatabase.__init__ | ( | self, | |
* | args, | ||
** | kwargs | ||
) |
def enigma.eMediaDatabase.addPath | ( | self, | |
path, | |||
watch = False |
|||
) |
addPath(eMediaDatabase self, std::string const & path, bool watch=False) addPath(eMediaDatabase self, std::string const & path)
def enigma.eMediaDatabase.addPlaylist | ( | self, | |
name, | |||
type | |||
) |
addPlaylist(eMediaDatabase self, std::string const & name, int type) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.addRecording | ( | self, | |
* | args | ||
) |
addRecording(eMediaDatabase self, std::string const & filepath, std::string const & title, int created) -> eMediaDatabaseResultPtr addRecording(eMediaDatabase self, eMediaDatabase::RecordDataPtr recordData, eMediaDatabase::RecordMetaPtr recordMeta, StringVector tags) addRecording(eMediaDatabase self, eMediaDatabase::RecordDataPtr recordData, eMediaDatabase::RecordMetaPtr recordMeta)
def enigma.eMediaDatabase.addToPlaylistById | ( | self, | |
playlist_id, | |||
file_id, | |||
pos | |||
) |
addToPlaylistById(eMediaDatabase self, int playlist_id, int file_id, int pos) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.addToPlaylistByUri | ( | self, | |
playlist_id, | |||
uri, | |||
pos, | |||
attributes | |||
) |
addToPlaylistByUri(eMediaDatabase self, int playlist_id, std::string const & uri, int pos, StringMap attributes) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.clearPlaylist | ( | self, | |
playlist_id | |||
) |
clearPlaylist(eMediaDatabase self, int playlist_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.deleteFileAttribute | ( | self, | |
file_id, | |||
key | |||
) |
deleteFileAttribute(eMediaDatabase self, int file_id, std::string const & key) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.deleteParentDirectory | ( | self, | |
dir_id | |||
) |
deleteParentDirectory(eMediaDatabase self, int dir_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterAudio | ( | self, | |
needle, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterAudio(eMediaDatabase self, std::string const & needle, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterAudio(eMediaDatabase self, std::string const & needle, int limit=-1) -> eMediaDatabaseResultPtr filterAudio(eMediaDatabase self, std::string const & needle) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByAlbum | ( | self, | |
album, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByAlbum(eMediaDatabase self, std::string const & album, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByAlbum(eMediaDatabase self, std::string const & album, int limit=-1) -> eMediaDatabaseResultPtr filterByAlbum(eMediaDatabase self, std::string const & album) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByAlbumArtist | ( | self, | |
artist, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByAlbumArtist(eMediaDatabase self, std::string const & artist, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByAlbumArtist(eMediaDatabase self, std::string const & artist, int limit=-1) -> eMediaDatabaseResultPtr filterByAlbumArtist(eMediaDatabase self, std::string const & artist) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByAlbumArtistAlbum | ( | self, | |
artist, | |||
album, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByAlbumArtistAlbum(eMediaDatabase self, std::string const & artist, std::string const & album, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByAlbumArtistAlbum(eMediaDatabase self, std::string const & artist, std::string const & album, int limit=-1) -> eMediaDatabaseResultPtr filterByAlbumArtistAlbum(eMediaDatabase self, std::string const & artist, std::string const & album) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByArtist | ( | self, | |
artist, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByArtist(eMediaDatabase self, std::string const & artist, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByArtist(eMediaDatabase self, std::string const & artist, int limit=-1) -> eMediaDatabaseResultPtr filterByArtist(eMediaDatabase self, std::string const & artist) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByArtistAlbum | ( | self, | |
artist, | |||
album, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByArtistAlbum(eMediaDatabase self, std::string const & artist, std::string const & album, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByArtistAlbum(eMediaDatabase self, std::string const & artist, std::string const & album, int limit=-1) -> eMediaDatabaseResultPtr filterByArtistAlbum(eMediaDatabase self, std::string const & artist, std::string const & album) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByGenre | ( | self, | |
genre, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByGenre(eMediaDatabase self, std::string const & genre, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByGenre(eMediaDatabase self, std::string const & genre, int limit=-1) -> eMediaDatabaseResultPtr filterByGenre(eMediaDatabase self, std::string const & genre) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.filterByTitle | ( | self, | |
title, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
filterByTitle(eMediaDatabase self, std::string const & title, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr filterByTitle(eMediaDatabase self, std::string const & title, int limit=-1) -> eMediaDatabaseResultPtr filterByTitle(eMediaDatabase self, std::string const & title) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAlbumCoverArt | ( | self, | |
* | args | ||
) |
getAlbumCoverArt(eMediaDatabase self, int cover_art_id, eSize size, eSize aspect) getAlbumCoverArt(eMediaDatabase self, int cover_art_id, eSize size) getAlbumCoverArt(eMediaDatabase self, int cover_art_id)
def enigma.eMediaDatabase.getAlbumCoverArtData | ( | self, | |
album_id | |||
) |
getAlbumCoverArtData(eMediaDatabase self, int album_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAlbumCoverArtId | ( | self, | |
album_id | |||
) |
getAlbumCoverArtId(eMediaDatabase self, int album_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAlbums | ( | self, | |
album, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
getAlbums(eMediaDatabase self, std::string const & album, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAlbums(eMediaDatabase self, std::string const & album, int limit=-1) -> eMediaDatabaseResultPtr getAlbums(eMediaDatabase self, std::string const & album) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAlbumsByAlbumArtist | ( | self, | |
album_artist, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
getAlbumsByAlbumArtist(eMediaDatabase self, std::string const & album_artist, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAlbumsByAlbumArtist(eMediaDatabase self, std::string const & album_artist, int limit=-1) -> eMediaDatabaseResultPtr getAlbumsByAlbumArtist(eMediaDatabase self, std::string const & album_artist) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAlbumsByArtist | ( | self, | |
artist, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
getAlbumsByArtist(eMediaDatabase self, std::string const & artist, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAlbumsByArtist(eMediaDatabase self, std::string const & artist, int limit=-1) -> eMediaDatabaseResultPtr getAlbumsByArtist(eMediaDatabase self, std::string const & artist) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllAlbumArtists | ( | self, | |
limit = -1 , |
|||
offset = 0 |
|||
) |
getAllAlbumArtists(eMediaDatabase self, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAllAlbumArtists(eMediaDatabase self, int limit=-1) -> eMediaDatabaseResultPtr getAllAlbumArtists(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllAlbums | ( | self, | |
limit = -1 , |
|||
offset = 0 |
|||
) |
getAllAlbums(eMediaDatabase self, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAllAlbums(eMediaDatabase self, int limit=-1) -> eMediaDatabaseResultPtr getAllAlbums(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllArtists | ( | self, | |
limit = -1 , |
|||
offset = 0 |
|||
) |
getAllArtists(eMediaDatabase self, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAllArtists(eMediaDatabase self, int limit=-1) -> eMediaDatabaseResultPtr getAllArtists(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllAudio | ( | self, | |
limit = -1 , |
|||
offset = 0 |
|||
) |
getAllAudio(eMediaDatabase self, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAllAudio(eMediaDatabase self, int limit=-1) -> eMediaDatabaseResultPtr getAllAudio(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllDirectories | ( | self | ) |
getAllDirectories(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllRecordings | ( | self, | |
limit = -1 , |
|||
offset = 0 |
|||
) |
getAllRecordings(eMediaDatabase self, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAllRecordings(eMediaDatabase self, int limit=-1) -> eMediaDatabaseResultPtr getAllRecordings(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getAllVideos | ( | self, | |
limit = -1 , |
|||
offset = 0 |
|||
) |
getAllVideos(eMediaDatabase self, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getAllVideos(eMediaDatabase self, int limit=-1) -> eMediaDatabaseResultPtr getAllVideos(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getArtists | ( | self, | |
artist, | |||
limit = -1 , |
|||
offset = 0 |
|||
) |
getArtists(eMediaDatabase self, std::string const & artist, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getArtists(eMediaDatabase self, std::string const & artist, int limit=-1) -> eMediaDatabaseResultPtr getArtists(eMediaDatabase self, std::string const & artist) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getCoverArt | ( | self, | |
* | args | ||
) |
getCoverArt(eMediaDatabase self, int cover_art_id, eSize size, eSize aspect) getCoverArt(eMediaDatabase self, int cover_art_id, eSize size) getCoverArt(eMediaDatabase self, int cover_art_id)
def enigma.eMediaDatabase.getCoverArtData | ( | self, | |
* | args | ||
) |
getCoverArtData(eMediaDatabase self, int cover_art_id) -> eMediaDatabaseResultPtr getCoverArtData(eMediaDatabase self, std::string const & cover_art_key) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getCurrentScanPath | ( | self | ) |
getCurrentScanPath(eMediaDatabase self)
def enigma.eMediaDatabase.getEnqueuedPaths | ( | self, | |
OUTPUT | |||
) |
getEnqueuedPaths(eMediaDatabase self, StringList OUTPUT)
def enigma.eMediaDatabase.getFileAttribute | ( | self, | |
file_id, | |||
key | |||
) |
getFileAttribute(eMediaDatabase self, int file_id, std::string const & key) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getFileAttributes | ( | self, | |
file_id | |||
) |
getFileAttributes(eMediaDatabase self, int file_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getFileAttributeValue | ( | self, | |
file_id, | |||
key | |||
) |
getFileAttributeValue(eMediaDatabase self, int file_id, std::string const & key)
def enigma.eMediaDatabase.getFileByPath | ( | self, | |
filepath | |||
) |
getFileByPath(eMediaDatabase self, std::string const & filepath) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getInstance | ( | ) |
getInstance() -> eMediaDatabase
def enigma.eMediaDatabase.getLastPlayed | ( | self, | |
file_id, | |||
lastplayed, | |||
lastplaypos | |||
) |
getLastPlayed(eMediaDatabase self, int file_id, int64_t & lastplayed, int64_t & lastplaypos)
def enigma.eMediaDatabase.getParentDirectories | ( | self | ) |
getParentDirectories(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getPlaylist | ( | self, | |
id | |||
) |
getPlaylist(eMediaDatabase self, int id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getPlaylistByName | ( | self, | |
name, | |||
type | |||
) |
getPlaylistByName(eMediaDatabase self, std::string const & name, int type) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getPlaylistItemsById | ( | self, | |
id | |||
) |
getPlaylistItemsById(eMediaDatabase self, int id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getPlaylistItemsByName | ( | self, | |
name, | |||
type = -1 |
|||
) |
getPlaylistItemsByName(eMediaDatabase self, std::string const & name, int type=-1) -> eMediaDatabaseResultPtr getPlaylistItemsByName(eMediaDatabase self, std::string const & name) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getPlaylists | ( | self, | |
type = -1 |
|||
) |
getPlaylists(eMediaDatabase self, int type=-1) -> eMediaDatabaseResultPtr getPlaylists(eMediaDatabase self) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getRecordEit | ( | self, | |
file_id | |||
) |
getRecordEit(eMediaDatabase self, int file_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getRecordings | ( | self, | |
* | args | ||
) |
getRecordings(eMediaDatabase self, std::string const & dir, StringList tags, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getRecordings(eMediaDatabase self, std::string const & dir, StringList tags, int limit=-1) -> eMediaDatabaseResultPtr getRecordings(eMediaDatabase self, std::string const & dir, StringList tags) -> eMediaDatabaseResultPtr getRecordings(eMediaDatabase self, std::string const & dir) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getRecordMeta | ( | self, | |
file_id | |||
) |
getRecordMeta(eMediaDatabase self, int file_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getRecordTags | ( | self, | |
file_id | |||
) |
getRecordTags(eMediaDatabase self, int file_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getTracksByAlbumId | ( | self, | |
album_id | |||
) |
getTracksByAlbumId(eMediaDatabase self, int album_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.getVideos | ( | self, | |
* | args | ||
) |
getVideos(eMediaDatabase self, std::string const & dir, StringList tags, int limit=-1, int offset=0) -> eMediaDatabaseResultPtr getVideos(eMediaDatabase self, std::string const & dir, StringList tags, int limit=-1) -> eMediaDatabaseResultPtr getVideos(eMediaDatabase self, std::string const & dir, StringList tags) -> eMediaDatabaseResultPtr getVideos(eMediaDatabase self, std::string const & dir) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.query | ( | self, | |
* | args | ||
) |
query(eMediaDatabase self, std::string const & sql, StringList values, bool rw=False) -> eMediaDatabaseResultPtr query(eMediaDatabase self, std::string const & sql, StringList values) -> eMediaDatabaseResultPtr query(eMediaDatabase self, std::string const & sql) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.removeFile | ( | self, | |
file_id | |||
) |
removeFile(eMediaDatabase self, int file_id) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.requestScanStatistics | ( | self | ) |
requestScanStatistics(eMediaDatabase self) -> bool
def enigma.eMediaDatabase.rescanPath | ( | self, | |
path, | |||
isRecording = False |
|||
) |
rescanPath(eMediaDatabase self, std::string const & path, bool isRecording=False) rescanPath(eMediaDatabase self, std::string const & path)
def enigma.eMediaDatabase.resetDatabase | ( | self | ) |
resetDatabase(eMediaDatabase self) -> bool
def enigma.eMediaDatabase.savePlaylist | ( | self, | |
playlist_id, | |||
name, | |||
type, | |||
items | |||
) |
savePlaylist(eMediaDatabase self, int playlist_id, std::string const & name, int type, StringMapVector items) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.setFileAttribute | ( | self, | |
file_id, | |||
key, | |||
value | |||
) |
setFileAttribute(eMediaDatabase self, int file_id, std::string const & key, std::string const & value) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.setLastPlayed | ( | self, | |
file_id, | |||
lastplayed, | |||
lastplaypos | |||
) |
setLastPlayed(eMediaDatabase self, int file_id, int64_t lastplayed, int64_t lastplaypos) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.setParentDirectoryWatched | ( | self, | |
dir_id, | |||
watched | |||
) |
setParentDirectoryWatched(eMediaDatabase self, int dir_id, bool watched) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.setRecordEit | ( | self, | |
file_id, | |||
eit_raw, | |||
update = False |
|||
) |
setRecordEit(eMediaDatabase self, int file_id, uint8_t [] eit_raw, bool update=False) -> eMediaDatabaseResultPtr setRecordEit(eMediaDatabase self, int file_id, uint8_t [] eit_raw) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.setRecordMeta | ( | self, | |
file_id, | |||
ref, | |||
name, | |||
description, | |||
service_data, | |||
duration, | |||
filesize, | |||
lastmodified, | |||
created | |||
) |
setRecordMeta(eMediaDatabase self, int file_id, std::string const & ref, std::string const & name, std::string const & description, std::string const & service_data, int64_t duration, int64_t filesize, int lastmodified, int created) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.setRecordTags | ( | self, | |
file_id, | |||
tags | |||
) |
setRecordTags(eMediaDatabase self, int file_id, StringVector tags) -> eMediaDatabaseResultPtr
def enigma.eMediaDatabase.updatePlaylistItem | ( | self, | |
playlist_id, | |||
item | |||
) |
updatePlaylistItem(eMediaDatabase self, int playlist_id, StringMap item) -> eMediaDatabaseResultPtr
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |