Pushing map parameters to DB
This commit is contained in:
1 parent
7ca66a200f
commit
bc2295595c
14 files changed
+122
-70
No files matched your search
@@ -0,0 +1,15 @@
|
||||
ALTER TABLE maps ADD pattern VARCHAR(200) NOT NULL AFTER geo_name;
|
||||
UPDATE maps SET pattern = CONCAT('http://localhost/geo/?a=tile&id=', geo_name, '&z={z}&x={x}&y={y}') WHERE geo_name <> '';
|
||||
|
||||
ALTER TABLE maps ADD token VARCHAR(4096) AFTER pattern;
|
||||
UPDATE maps SET token = '';
|
||||
|
||||
ALTER TABLE maps DROP geo_name;
|
||||
|
||||
INSERT INTO maps (codename, pattern, token, tile_size, min_zoom, max_zoom, attribution)
|
||||
VALUES ('static', 'http://localhost/geo/?a=tile&id=static&z=13&x={x}&y={y}', '', 400, 13, 13, '');
|
||||
|
||||
INSERT INTO maps (codename, pattern, token, tile_size, min_zoom, max_zoom, attribution)
|
||||
VALUES ('static_marker', 'http://localhost/geo/?a=tile&id=static.marker&z=13&x={x}&y={y}&marker=http://localhost/spot/images/footprint_mapbox.png', '', 400, 13, 13, '');
|
||||
|
||||
UPDATE maps SET max_zoom = 17 WHERE codename = 'otm';
|
||||
@@ -31,7 +31,6 @@ class Email extends PhpObject {
|
||||
$this->sTemplateName = $sTemplateName;
|
||||
$this->oTemplate = new Mask($this->sTemplateName);
|
||||
$this->oTemplate->setTag('local_server', $this->sServName);
|
||||
$this->oTemplate->setTag('geo_server', Settings::GEO_SERVER);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace Franzz\Spot;
|
||||
use Franzz\Objects\PhpObject;
|
||||
use Franzz\Objects\Db;
|
||||
use \Settings;
|
||||
|
||||
class Map extends PhpObject {
|
||||
|
||||
const MAP_TABLE = 'maps';
|
||||
const MAPPING_TABLE = 'mappings';
|
||||
|
||||
private Db $oDb;
|
||||
|
||||
private $asMaps;
|
||||
|
||||
public function __construct(Db &$oDb) {
|
||||
parent::__construct(__CLASS__, Settings::DEBUG);
|
||||
$this->oDb = &$oDb;
|
||||
$this->setMaps();
|
||||
}
|
||||
|
||||
private function setMaps() {
|
||||
$asMaps = $this->oDb->selectRows(array('from'=>self::MAP_TABLE));
|
||||
foreach($asMaps as $asMap) $this->asMaps[$asMap['codename']] = $asMap;
|
||||
}
|
||||
|
||||
public function getProjectMaps($iProjectId) {
|
||||
$asMappings = $this->oDb->getArrayQuery("SELECT id_map FROM mappings WHERE id_project = ".$iProjectId." OR id_project IS NULL", true);
|
||||
return array_filter($this->asMaps, function($asMap) use($asMappings) {return in_array($asMap['id_map'], $asMappings);});
|
||||
}
|
||||
|
||||
public function getMapUrl($sCodeName, $asParams) {
|
||||
return self::populateParams($this->asMaps[$sCodeName]['pattern'], $asParams);
|
||||
}
|
||||
|
||||
private static function populateParams($sUrl, $asParams) {
|
||||
foreach($asParams as $sParam=>$sValue) {
|
||||
$sUrl = str_replace('{'.$sParam.'}', $sValue, $sUrl);
|
||||
}
|
||||
|
||||
return $sUrl;
|
||||
}
|
||||
}
|
||||
@@ -174,16 +174,6 @@ class Project extends PhpObject {
|
||||
return $iLastMsg;
|
||||
}
|
||||
|
||||
public function getMaps() {
|
||||
$sQuery =
|
||||
"SELECT codename, geo_name, tile_size, min_zoom, max_zoom, attribution ".
|
||||
"FROM ".Spot::MAPPING_TABLE." ".
|
||||
"LEFT JOIN ".Spot::MAP_TABLE." USING(".Db::getId(Spot::MAP_TABLE).") ".
|
||||
"WHERE ".Db::getId(self::PROJ_TABLE)." = ".$this->getProjectId()." ".
|
||||
"OR ".Db::getId(self::PROJ_TABLE)." IS NULL ";
|
||||
return $this->oDb->getArrayQuery($sQuery, true);
|
||||
}
|
||||
|
||||
private function setProjectInfo() {
|
||||
if($this->getProjectId() > 0) {
|
||||
$asProject = $this->getProject();
|
||||
|
||||
+16
-27
@@ -30,31 +30,16 @@ class Spot extends Main
|
||||
{
|
||||
//Database
|
||||
const POST_TABLE = 'posts';
|
||||
const MAP_TABLE = 'maps';
|
||||
const MAPPING_TABLE = 'mappings';
|
||||
|
||||
const FEED_CHUNK_SIZE = 15;
|
||||
const MAIL_CHUNK_SIZE = 5;
|
||||
|
||||
const DEFAULT_LANG = 'en';
|
||||
|
||||
/**
|
||||
* Active Project
|
||||
* @var Project
|
||||
*/
|
||||
private $oProject;
|
||||
|
||||
/**
|
||||
* Media Class
|
||||
* @var Media
|
||||
*/
|
||||
private $oMedia;
|
||||
|
||||
/**
|
||||
* User
|
||||
* @var User
|
||||
*/
|
||||
private $oUser;
|
||||
private Project $oProject;
|
||||
private Media $oMedia;
|
||||
private User $oUser;
|
||||
private Map $oMap;
|
||||
|
||||
public function __construct($sProcessPage, $sTimezone)
|
||||
{
|
||||
@@ -66,6 +51,8 @@ class Spot extends Main
|
||||
|
||||
$this->oProject = new Project($this->oDb);
|
||||
$this->oMedia = new Media($this->oDb, $this->oProject);
|
||||
|
||||
$this->oMap = new Map($this->oDb);
|
||||
}
|
||||
|
||||
protected function install()
|
||||
@@ -104,8 +91,8 @@ class Spot extends Main
|
||||
self::POST_TABLE => array(Db::getId(Project::PROJ_TABLE), Db::getId(User::USER_TABLE), 'name', 'content', 'site_time', 'timezone'),
|
||||
Media::MEDIA_TABLE => array(Db::getId(Project::PROJ_TABLE), 'filename', 'type', 'taken_on', 'posted_on', 'timezone', 'rotate', 'comment'),
|
||||
User::USER_TABLE => array('name', 'email', 'gravatar', 'language', 'timezone', 'active', 'clearance'),
|
||||
self::MAP_TABLE => array('codename', 'geo_name', 'tile_size', 'min_zoom', 'max_zoom', 'attribution'),
|
||||
self::MAPPING_TABLE => array(Db::getId(self::MAP_TABLE) , Db::getId(Project::PROJ_TABLE))
|
||||
Map::MAP_TABLE => array('codename', 'pattern', 'token', 'tile_size', 'min_zoom', 'max_zoom', 'attribution'),
|
||||
Map::MAPPING_TABLE => array(Db::getId(Map::MAP_TABLE) , Db::getId(Project::PROJ_TABLE))
|
||||
),
|
||||
'types' => array
|
||||
(
|
||||
@@ -127,6 +114,7 @@ class Spot extends Main
|
||||
'longitude' => "DECIMAL(8,5)",
|
||||
'model' => "VARCHAR(20)",
|
||||
'name' => "VARCHAR(100)",
|
||||
'pattern' => "VARCHAR(200) NOT NULL",
|
||||
'posted_on' => "TIMESTAMP DEFAULT 0",
|
||||
'ref_feed_id' => "VARCHAR(40)",
|
||||
'ref_msg_id' => "INT",
|
||||
@@ -136,9 +124,9 @@ class Spot extends Main
|
||||
'status' => "VARCHAR(10)",
|
||||
'taken_on' => "TIMESTAMP DEFAULT 0",
|
||||
'timezone' => "CHAR(64)", //see mysql.time_zone_name
|
||||
'token' => "VARCHAR(4096)",
|
||||
'type' => "VARCHAR(20)",
|
||||
'unix_time' => "INT",
|
||||
'geo_name' => "VARCHAR(100)",
|
||||
'min_zoom' => "TINYINT UNSIGNED",
|
||||
'max_zoom' => "TINYINT UNSIGNED",
|
||||
'attribution' => "VARCHAR(100)",
|
||||
@@ -155,14 +143,15 @@ class Spot extends Main
|
||||
Feed::SPOT_TABLE => array("UNIQUE KEY `uni_ref_spot_id` (`ref_spot_id`)", "INDEX(`ref_spot_id`)"),
|
||||
Project::PROJ_TABLE => "UNIQUE KEY `uni_proj_name` (`codename`)",
|
||||
Media::MEDIA_TABLE => "UNIQUE KEY `uni_file_name` (`filename`)",
|
||||
User::USER_TABLE => "UNIQUE KEY `uni_email` (`email`)"
|
||||
User::USER_TABLE => "UNIQUE KEY `uni_email` (`email`)",
|
||||
Map::MAP_TABLE => "UNIQUE KEY `uni_map_name` (`codename`)"
|
||||
),
|
||||
'cascading_delete' => array
|
||||
(
|
||||
Feed::SPOT_TABLE => array(Feed::FEED_TABLE),
|
||||
Feed::FEED_TABLE => array(Feed::MSG_TABLE),
|
||||
Project::PROJ_TABLE => array(Feed::FEED_TABLE, Media::MEDIA_TABLE, self::POST_TABLE),
|
||||
self::MAP_TABLE => array(self::MAPPING_TABLE)
|
||||
Map::MAP_TABLE => array(Map::MAPPING_TABLE)
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -185,7 +174,6 @@ class Spot extends Main
|
||||
),
|
||||
'consts' => array(
|
||||
'server' => $this->asContext['serv_name'],
|
||||
'geo_server' => Settings::GEO_SERVER,
|
||||
'modes' => Project::MODES,
|
||||
'clearances' => User::CLEARANCES,
|
||||
'default_timezone' => Settings::TIMEZONE
|
||||
@@ -236,7 +224,6 @@ class Spot extends Main
|
||||
|
||||
//Add Position
|
||||
$asLastMessage = array_shift($this->getSpotMessages(array($this->oProject->getLastMessageId($this->getFeedConstraints(Feed::MSG_TABLE)))));
|
||||
$asLastMessage['token'] = Settings::GEO_SERVER_TOKEN;
|
||||
$oEmail->oTemplate->setTags($asLastMessage);
|
||||
$oEmail->oTemplate->setTag('date_time', 'time:'.$asLastMessage['unix_time'], 'd/m/Y, H:i');
|
||||
|
||||
@@ -315,7 +302,7 @@ class Spot extends Main
|
||||
|
||||
$asResult = array(
|
||||
'messages' => $asMessages,
|
||||
'maps' => $this->oProject->getMaps(),
|
||||
'maps' => $this->oMap->getProjectMaps($this->oProject->getProjectId()),
|
||||
'last_update' => $asLastUpdate
|
||||
);
|
||||
|
||||
@@ -372,6 +359,8 @@ class Spot extends Main
|
||||
$asMessage['lat_dms'] = self::decToDms($asMessage['latitude'], 'lat');
|
||||
$asMessage['lon_dms'] = self::decToDms($asMessage['longitude'], 'lon');
|
||||
$asMessage['displayed_id'] = $asMessage[Db::getId(Feed::MSG_TABLE)];
|
||||
$asMessage['static_img_url'] = $this->oMap->getMapUrl('static', array('x'=>$asMessage['longitude'], 'y'=>$asMessage['latitude']));
|
||||
$asMessage['marker_img_url'] = $this->oMap->getMapUrl('static_marker', array('x'=>$asMessage['longitude'], 'y'=>$asMessage['latitude']));
|
||||
|
||||
$this->addTimeStamp($asMessage, $asMessage['unix_time'], $asMessage['timezone']);
|
||||
$asCombinedMessages[] = $asMessage;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div style="background-color:#6dff58;color:#326526;border-radius:3px;padding:1rem;margin-top:1rem;display:inline-block;box-shadow: 2px 2px 3px 0px rgba(0,0,0,.5);">
|
||||
<a href="[#]local_server[#]" target="_blank" rel="noopener"><img style="border-radius:3px;" src="[#]geo_server[#]?a=tile&id=static.marker&z=13&x=[#]longitude[#]&y=[#]latitude[#]&marker=[#]local_server[#]images/footprint_mapbox.png&token=[#]token[#]" alt="position" /></a>
|
||||
<a href="[#]local_server[#]" target="_blank" rel="noopener"><img style="border-radius:3px;" src="[#]marker_img_url[#]" alt="position" /></a>
|
||||
<br />[#]lat_dms[#] [#]lon_dms[#]
|
||||
<br />[#]date_time[#] ([#]timezone[#])
|
||||
</div>
|
||||
|
||||
+20
-16
@@ -106,10 +106,12 @@ oSpot.onKeydown = function(oEvent) {
|
||||
}
|
||||
|
||||
function toggleFeedPanel(bShow, sMapAction) {
|
||||
bOldValue = isFeedPanelOpen();
|
||||
self.tmp('$Projects').toggleClass('with-feed', (typeof bShow === 'undefined')?null:bShow);
|
||||
bShow = isFeedPanelOpen();
|
||||
oSpot.onResize();
|
||||
bNewValue = isFeedPanelOpen();
|
||||
|
||||
if(bOldValue != bNewValue) {
|
||||
oSpot.onResize();
|
||||
sMapAction = sMapAction || 'panTo';
|
||||
switch(sMapAction) {
|
||||
case 'none': break;
|
||||
@@ -117,6 +119,7 @@ function toggleFeedPanel(bShow, sMapAction) {
|
||||
case 'panToInstant': oSpot.tmp('map').panBy([(isFeedPanelOpen()?1:-1)*self.tmp('$Feed').outerWidth(true)/2, 0]); break;
|
||||
case 'fitBounds': oSpot.tmp('map').fitBounds(self.tmp('track').getBounds(), {paddingTopLeft: L.point(5, self.tmp('marker_size').height + 5), paddingBottomRight: L.point(self.tmp('$Feed').outerWidth(true) + 5, 5)}); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isFeedPanelOpen() {
|
||||
@@ -124,16 +127,19 @@ function isFeedPanelOpen() {
|
||||
}
|
||||
|
||||
function toggleSettingsPanel(bShow, sMapAction) {
|
||||
bOldValue = isSettingsPanelOpen();
|
||||
self.tmp('$Projects').toggleClass('with-settings', (typeof bShow === 'undefined')?null:bShow);
|
||||
oSpot.onResize();
|
||||
bShow = isSettingsPanelOpen();
|
||||
bNewValue = isSettingsPanelOpen();
|
||||
|
||||
if(bOldValue != bNewValue) {
|
||||
oSpot.onResize();
|
||||
sMapAction = sMapAction || 'panTo';
|
||||
switch(sMapAction) {
|
||||
case 'none': break;
|
||||
case 'panTo': oSpot.tmp('map').panBy([(isSettingsPanelOpen()?-1:1)*self.tmp('$Settings').outerWidth(true)/2, 0], {duration: 0.5}); break;
|
||||
case 'panToInstant': oSpot.tmp('map').panBy([(isSettingsPanelOpen()?-1:1)*self.tmp('$Settings').outerWidth(true)/2, 0]); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isSettingsPanelOpen() {
|
||||
@@ -163,7 +169,6 @@ function initPage(asHash) {
|
||||
self.tmp('$Title', $('#title'));
|
||||
self.tmp('updatable', true);
|
||||
self.tmp('out-of-data', false);
|
||||
self.tmp('tile_api', getWmtsApiUrl('{id}', '{y}', '{x}', '{z}'));
|
||||
self.tmp('markers', 'object');
|
||||
self.tmp('trail-markers', 'object');
|
||||
self.tmp('marker_size', {width: 32, height: 32});
|
||||
@@ -366,14 +371,17 @@ function getElevWidth() {
|
||||
function setMapLayers(asLayers) {
|
||||
oSpot.tmp('layers', {});
|
||||
$.each(asLayers, function(iKey, asLayer) {
|
||||
oSpot.tmp('layers')[oSpot.lang('map_'+asLayer.codename)] = L.tileLayer(self.tmp('tile_api'), {
|
||||
id: asLayer.geo_name,
|
||||
var sMapName = oSpot.lang('map_'+asLayer.codename);
|
||||
var asMapOptions = {
|
||||
tileSize: parseInt(asLayer.tile_size),
|
||||
zoomOffset: (parseInt(asLayer.tile_size) / -256 + 1),
|
||||
minZoom: parseInt(asLayer.min_zoom),
|
||||
maxZoom: parseInt(asLayer.max_zoom),
|
||||
attribution: asLayer.attribution
|
||||
});
|
||||
}
|
||||
if(asLayer.token != '') asMapOptions.token = asLayer.token;
|
||||
|
||||
oSpot.tmp('layers')[sMapName] = L.tileLayer(asLayer.pattern, asMapOptions);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -410,9 +418,9 @@ function initSpotMessages(aoMessages, aoTracks) {
|
||||
|
||||
//Controls: Feed Panel
|
||||
var oFeedPanel = L.control({position: bIsMobile?'bottomright':'topright'});
|
||||
var $PostButton = $('#feed-button').clone();
|
||||
$PostButton.click(toggleFeedPanel);
|
||||
oFeedPanel.onAdd = function(oMap) {return $PostButton[0];};
|
||||
var $FeedButton = $('#feed-button').clone();
|
||||
$FeedButton.click(toggleFeedPanel);
|
||||
oFeedPanel.onAdd = function(oMap) {return $FeedButton[0];};
|
||||
oFeedPanel.addTo(oMap);
|
||||
|
||||
//Controls: Legend
|
||||
@@ -868,7 +876,7 @@ function getPost(asPost) {
|
||||
.append(bTimeDiff?$('<p>').addIcon('fa-timezone', true).append(oSpot.lang('local_time', sAbsTimeLocal)):'')
|
||||
.append($('<a>', {'class':'drill'})
|
||||
.append((!asPost.weather_icon || asPost.weather_icon=='unknown')?'':$('<span>', {'class':'weather', 'title':oSpot.lang(asPost.weather_cond)}).addIcon('fa-'+asPost.weather_icon).append($('<span>').text(asPost.weather_temp+'°C')))
|
||||
.append($('<img>', {'class':'staticmap', title: oSpot.lang('click_zoom'), src: getWmtsApiUrl('static', asPost.latitude, asPost.longitude, 13)}))
|
||||
.append($('<img>', {'class':'staticmap', title: oSpot.lang('click_zoom'), src: asPost.static_img_url}))
|
||||
.append($('<span>', {'class': 'drill-icon fa-stack'})
|
||||
.addIcon('fa-message fa-stack-2x')
|
||||
.addIcon('fa-message-in fa-stack-1x fa-rotate-270')
|
||||
@@ -961,10 +969,6 @@ function getPost(asPost) {
|
||||
return $Post;
|
||||
}
|
||||
|
||||
function getWmtsApiUrl(sMapId, iLat, iLng, iZoom) {
|
||||
return self.consts.geo_server+'?a=tile&id='+sMapId+'&z='+iZoom+'&x='+iLng+'&y='+iLat;
|
||||
}
|
||||
|
||||
function getMediaLink(asData, sType) {
|
||||
var bTimeDiff = (asData.posted_on_formatted && asData.posted_on_formatted_local != asData.posted_on_formatted);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
## Getting started
|
||||
1. Clone Git onto web server
|
||||
2. Copy settings-sample.php to settings.php and populate
|
||||
3. Go to #admin and create a new project & feed
|
||||
3. Go to #admin and create a new project, feed & maps
|
||||
4. Add a GPX file named <project_codename>.gpx to /geo/
|
||||
## To Do List
|
||||
* ECMA import/export
|
||||
|
||||
+4
-1
@@ -105,7 +105,10 @@ function Spot(asGlobals)
|
||||
sLang = self.consts.lang[sKey];
|
||||
for(i in asParams) sLang = sLang.replace('$'+i, asParams[i]);
|
||||
}
|
||||
else console.log('missing translation: '+sKey);
|
||||
else {
|
||||
console.log('missing translation: '+sKey);
|
||||
sLang = sKey;
|
||||
}
|
||||
|
||||
return sLang;
|
||||
};
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
class Settings
|
||||
{
|
||||
const GEO_SERVER = 'http(s)://geo.server.tld';
|
||||
const GEO_SERVER_TOKEN = '';
|
||||
const DB_SERVER = 'localhost';
|
||||
const DB_LOGIN = '';
|
||||
const DB_PASS = '';
|
||||
|
||||
@@ -30,11 +30,18 @@ $fa-css-prefix: fa;
|
||||
text-decoration: none;
|
||||
color: #CCC;
|
||||
background: none;
|
||||
text-shadow: 0px 1px 1px rgba(0,0,0,0.8);
|
||||
@extend .fa;
|
||||
|
||||
&:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
&:before {
|
||||
display: block;
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Navigation */
|
||||
|
||||
+12
-9
@@ -30,19 +30,15 @@ $stroke-width-axis : 2;
|
||||
}
|
||||
}
|
||||
|
||||
.leaflet-control.spot-control, .leaflet-control .heightgraph-toggle {
|
||||
.leaflet-control.spot-control, .leaflet-control.heightgraph .heightgraph-toggle {
|
||||
cursor: pointer;
|
||||
text-shadow: 0px 1px 1px rgba(0,0,0,0.8);
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
text-align: center;
|
||||
box-shadow: none;
|
||||
|
||||
.fa, .heightgraph-toggle-icon {
|
||||
@extend .control-icon;
|
||||
}
|
||||
|
||||
.fa {
|
||||
@extend .control-icon;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@@ -85,11 +81,12 @@ $stroke-width-axis : 2;
|
||||
}
|
||||
|
||||
.heightgraph-toggle {
|
||||
height: 44px;
|
||||
background: none;
|
||||
|
||||
.heightgraph-toggle-icon {
|
||||
@extend .control-icon;
|
||||
@extend .fa-elev-chart;
|
||||
height: 44px;
|
||||
position: static;
|
||||
background: none;
|
||||
}
|
||||
@@ -98,10 +95,16 @@ $stroke-width-axis : 2;
|
||||
.heightgraph-close-icon {
|
||||
@extend .control-icon;
|
||||
@extend .fa-unsubscribe;
|
||||
color: #333;
|
||||
background: none;
|
||||
font-size: 20px;
|
||||
line-height: 28px;
|
||||
line-height: 26px;
|
||||
width: 26px;
|
||||
text-align: center;
|
||||
display: none;
|
||||
|
||||
&:before {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcg72j00.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKew72j00.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcw72j00.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKfA72j00.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcQ72j00.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/4iCs6KVjbNBYlgoKfw72.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@-webkit-keyframes fadeIn{from{opacity:.3}}@-moz-keyframes fadeIn{from{opacity:.3}}@-ms-keyframes fadeIn{from{opacity:.3}}@-o-keyframes fadeIn{from{opacity:.3}}@keyframes fadeIn{from{opacity:.3}}.flicker,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.loading span,.lightbox .lb-cancel{-webkit-animation:fadeIn .5s infinite alternate;-moz-animation:fadeIn .5s infinite alternate;-ms-animation:fadeIn .5s infinite alternate;-o-animation:fadeIn .5s infinite alternate;animation:fadeIn .5s infinite alternate}@keyframes spotlogo{0%{transform:scale(1)}1.25%{transform:scale(1.2)}2.5%{transform:scale(1);transform:rotate(0deg)}5%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}*:focus{outline:0px none transparent}textarea:focus,input:focus{outline:1px solid #ccc}body,textarea,input,button,a.button{font-size:14px;font-family:"Ubuntu",sans-serif;margin:0}textarea{resize:none}a.button{text-decoration:none;display:inline-block}button,a.button{cursor:pointer;font-weight:bold;color:#000;background:#eee}button:hover,a.button:hover{color:#eee;background:#000}input,textarea,button,a.button{border:none;padding:.5em 1em;border-radius:3px}h1{font-size:2em;font-weight:bold;margin:1em 0 .5em}.feedback p{margin:0 0 1em 0}.feedback p.error{color:red}.feedback p.warning{color:orange}.feedback p.success{color:green}@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:900;font-display:block;src:url("fa/fonts/fa-solid-900.eot");src:url("fa/fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url("fa/fonts/fa-solid-900.woff2") format("woff2"),url("fa/fonts/fa-solid-900.woff") format("woff"),url("fa/fonts/fa-solid-900.ttf") format("truetype"),url("fa/fonts/fa-solid-900.svg#fontawesome") format("svg")}.fa,.lightbox .lb-cancel,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.control-icon,Line truncated
|
||||
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcg72j00.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKew72j00.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcw72j00.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKfA72j00.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcQ72j00.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/4iCs6KVjbNBYlgoKfw72.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@-webkit-keyframes fadeIn{from{opacity:.3}}@-moz-keyframes fadeIn{from{opacity:.3}}@-ms-keyframes fadeIn{from{opacity:.3}}@-o-keyframes fadeIn{from{opacity:.3}}@keyframes fadeIn{from{opacity:.3}}.flicker,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.loading span,.lightbox .lb-cancel{-webkit-animation:fadeIn .5s infinite alternate;-moz-animation:fadeIn .5s infinite alternate;-ms-animation:fadeIn .5s infinite alternate;-o-animation:fadeIn .5s infinite alternate;animation:fadeIn .5s infinite alternate}@keyframes spotlogo{0%{transform:scale(1)}1.25%{transform:scale(1.2)}2.5%{transform:scale(1);transform:rotate(0deg)}5%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}*:focus{outline:0px none transparent}textarea:focus,input:focus{outline:1px solid #ccc}body,textarea,input,button,a.button{font-size:14px;font-family:"Ubuntu",sans-serif;margin:0}textarea{resize:none}a.button{text-decoration:none;display:inline-block}button,a.button{cursor:pointer;font-weight:bold;color:#000;background:#eee}button:hover,a.button:hover{color:#eee;background:#000}input,textarea,button,a.button{border:none;padding:.5em 1em;border-radius:3px}h1{font-size:2em;font-weight:bold;margin:1em 0 .5em}.feedback p{margin:0 0 1em 0}.feedback p.error{color:red}.feedback p.warning{color:orange}.feedback p.success{color:green}@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:900;font-display:block;src:url("fa/fonts/fa-solid-900.eot");src:url("fa/fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url("fa/fonts/fa-solid-900.woff2") format("woff2"),url("fa/fonts/fa-solid-900.woff") format("woff"),url("fa/fonts/fa-solid-900.ttf") format("truetype"),url("fa/fonts/fa-solid-900.svg#fontawesome") format("svg")}.fa,.lightbox .lb-cancel,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.control-icon,Line truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["_fonts.scss","_common.scss","fa/solid.scss","fa/_variables.scss","fa/_core.scss","fa/_larger.scss","fa/_fixed-width.scss","fa/_list.scss","fa/_bordered-pulled.scss","fa/_animated.scss","fa/_rotated-flipped.scss","fa/_mixins.scss","fa/_stacked.scss","_fa.scss","lightbox/_lightbox.scss","_lightbox.scss","_simplebar.scss","leaflet/_leaflet.scss","leaflet/_leaflet_heightgraph.scss","_leaflet.scss","_mask_project.scss","_mask_upload.scss","_mask_admin.scss","_mobile.scss"],"names":[],"mappings":"CAGA,WACC,qBACA,kBACA,gBACA,kBACA,8FACA,iFAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,yDAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,2GAGC,WACD,qBACA,kBACA,gBACA,kBACA,0DACA,yJAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,iFAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,yDAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,2GAGC,WACD,qBACA,kBACA,gBACA,kBACA,8DACA,yJC1GD,0BACE,iBAEF,uBACE,iBAEF,sBACE,iBAEF,qBACE,iBAEF,kBACE,iBAWF,6IAPC,kBAQoB,8BAPpB,eAOoB,8BANpB,cAMoB,8BALpB,aAKoB,8BAJpB,UAIoB,8BAsBrB,oBACI,GACI,mBAEJ,MACI,qBAEJ,KACI,mBACA,uBAEJ,GACI,yBAEJ,KACI,0BAMR,QACC,6BAGD,2BACC,uBAGD,oCACC,eACA,gCACA,SAGD,SACC,YAGD,SACC,qBACA,qBAGD,gBACC,eACA,iBACA,WACA,gBAEA,4BACC,WACA,gBAIF,+BACC,YACA,iBACA,kBAGD,GACC,cACA,iBACA,kBAMA,YACC,iBACA,kBACC,UAED,oBACC,aAED,oBACC,YC3HH,WACE,iCACA,kBACA,gBACA,aCLqB,MDMrB,qCACA,2RAOF,wmDAEE,iCACA,gBEnBF,4nDAME,kCACA,mCACA,qBACA,kBACA,oBACA,oBACA,cCXF,yEACE,yBACA,kBACA,yBAGF,OACE,gBAGF,OACE,iBAIA,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,QACE,eClBJ,OACE,kBACA,MHOqB,OIRvB,OACE,qBACA,kBACA,eAEA,4BAGF,OACE,UACA,kBACA,kBACA,MJLqB,IIMrB,oBCbF,WACE,wBACA,mBACA,yBAGF,yBACA,2BAOE,o0CACA,21CCfF,SACE,qCAGF,UACE,uCAGF,mBACE,GACE,uBAGF,KACE,0BCdJ,cCWE,sEACA,wBDXF,eCUE,sEACA,yBDVF,eCSE,sEACA,yBDRF,oBCYE,gFACA,uBDZF,kBCWE,gFACA,uBDXF,mDCUE,gFACA,wBDLA,oIAME,YElBJ,UACE,qBACA,WACA,gBACA,kBACA,sBACA,YAGF,0BAEE,OACA,kBACA,kBACA,WAGF,aACE,oBAGF,aACE,cAGF,YACE,MTpBqB,KUQtB,0kCACC,mBAED,8qCACC,kBAIF,koEACC,eACA,kBACA,iBACA,qBACA,WACA,gBAGA,qjEACC,WAKF,w6DACA,6BACA,+BACA,+BACA,2BACA,+BACA,+BACA,0DACA,4mDACiC,YACjC,w+CACA,sGAGA,2BACA,uCACA,kCACA,yCACA,mCACA,iCACA,8BACA,mHACA,gCACA,iCACA,iCACA,gCAGA,kCACA,+BACA,urFACA,+BACA,6BACA,8BACA,8BAGA,w0DACA,6BACA,6BACA,6BACA,+BACA,kCACA,4BACA,8BACA,mCACA,mCACA,qHACA,8BACA,kCACA,kCACA,4BACA,mCAIA,8BACA,olFAGA,gCAGA,mCACA,iCACA,mCACA,8BACA,2BACA,4BACA,yCACA,2CACA,6CACA,+CACA,iCACA,4BACA,mCACA,qCACA,6BACA,wCACA,0CACA,4BACA,oCACA,2CACA,6CACA,+BACA,4BC7HA,0BACE,gBAGF,iBACE,kBACA,MACA,OACA,aACA,sBACA,2DACA,WACA,aAGF,UACE,kBACA,OACA,WACA,cACA,kBACA,cACA,mBACA,aAGF,oBACE,cACA,YACA,kBACA,gBACA,kBAGA,sBAGF,gBACE,YAGF,mBACE,kBACA,QACA,YACA,aACA,cACA,kBAIA,sBAGF,yBACE,WACA,cACA,WAGF,WACE,kBACA,QACA,OACA,WACA,WACA,kBACA,cAGF,WACE,cACA,WACA,YACA,cACA,gDAGF,QACE,kBACA,MACA,OACA,YACA,WACA,WAGF,mBACE,OAGF,UACE,aACA,2GAGF,kBACE,YACA,eACA,cAGF,kBACE,UACA,OACA,WACA,sDACA,0DACA,UACA,+BACA,4BACA,0BACA,uBAGF,wBACE,4DACA,UAGF,kBACE,UACA,QACA,YACA,uDACA,0DACA,UACA,+BACA,4BACA,0BACA,uBAGF,wBACE,4DACA,UAGF,kBACE,cACA,gBACA,QACA,WACA,8BACA,+BAGF,wBACE,WACA,cACA,WAGF,SACE,cACA,WAGF,qBACE,UACA,WACA,gBACA,kBAGF,qBACE,eACA,iBACA,gBAGF,uBACE,WAGF,oBACE,cACA,WACA,mBACA,eACA,WAGF,mBACE,cACA,YACA,WACA,YACA,wDACA,iBACA,aACA,2DACA,WACA,+BACA,4BACA,0BACA,uBAGF,yBACE,eACA,4DACA,UCjMF,iBACC,SACA,QACA,aAGD,UACC,aACA,mBACA,uBACA,WACA,YAEA,mBACC,sBAEA,qCACC,WACA,YAGC,0DACC,qBACA,2BAGC,uFACC,qBACA,kBACA,2BACA,gBAEA,+FACC,cAOH,2EACC,iBAML,qBACC,mBAEA,uCACC,YACA,YAGC,iEACC,cACA,eACA,yBAGD,6EACC,yBACA,WACA,kBAQJ,6BACC,SACA,gBACA,sCAEA,2CACC,gBAEA,qDACC,6BACA,gBACA,YACA,iBACA,iBACA,WAEA,UACC,2FAKF,qDACC,uBAED,gEACC,SACA,yBAIA,0HACC,WACA,qBAEA,wIACC,kBACA,oBAIF,6DAvHH,gBACA,cAwHI,oEACC,SAIF,6DA9HH,gBACA,cA+HI,oEACC,UAQL,4BACC,SACA,UACA,cACA,gBAEA,qCACC,gBACA,4BAEA,iDACC,WAEA,kEACC,eAEA,8EACC,aAGD,0EdpHJ,uBACA,gBACA,mBcuHG,4DACC,wBAGF,wDACC,WACA,cACA,gBACA,aACA,mBACA,qBAEA,kEA9KH,gBACA,cAgLI,aACA,YACA,yBACA,gBAMJ,qBA1LA,gBACA,cA4LC,WChMF,iBACE,kBACA,sBACA,eACA,2BACA,yBACA,uBAGF,mBACE,gBACA,cACA,eACA,kBACA,mBAGF,gBACE,kBACA,kBACA,gBACA,UACA,SACA,OACA,MACA,SACA,QACA,sBACA,uBACA,UAGF,kBACE,6BACA,8BACA,uBACA,kBACA,MACA,OACA,SACA,QACA,UACA,SACA,iCAGF,2BACE,kBACA,iCACA,kBACA,cACA,YACA,WACA,eACA,gBACA,qBACA,wBAGF,2FAEE,QACA,SAGF,mDAEE,YACA,cAGF,uBACE,gBACA,eACA,WACA,oBAGF,wCACE,8BACA,YACA,WACA,cACA,kBACA,WACA,eACA,gBACA,WACA,UACA,SACA,oBACA,kBACA,cACA,aAGF,gCACE,mBACA,cACA,UACA,kBACA,MACA,OACA,aACA,YACA,eACA,cACA,gBACA,oBACA,WAGF,iBACE,UACA,kBACA,QACA,SACA,oBACA,gBAGF,uDACE,oBACA,iBACA,yBAGF,qDACE,mBAGF,qBACE,kBACA,OACA,QACA,gBAGF,4BACE,kBACA,WACA,gBACA,kBACA,SACA,UACA,UACA,8BAGF,8CAEE,WACA,6BAGF,oCACE,MACA,WAGF,gEACE,QACA,WAGF,sCACE,OACA,YAGF,kEACE,YACA,SACA,UAGF,2DACE,WACA,OACA,QACA,WACA,aACA,eACA,WAIF,mEACE,WACA,OAGF,yBACE,cACA,eACA,UACA,kBACA,aACA,YACA,kBACA,kBAGF,0BACE,eACA,OACA,kBACA,kBACA,qBACA,wBC/MF,6LAUC,kBACLine truncated
|
||||
{"version":3,"sourceRoot":"","sources":["_fonts.scss","_common.scss","fa/solid.scss","fa/_variables.scss","fa/_core.scss","fa/_larger.scss","fa/_fixed-width.scss","fa/_list.scss","fa/_bordered-pulled.scss","fa/_animated.scss","fa/_rotated-flipped.scss","fa/_mixins.scss","fa/_stacked.scss","_fa.scss","lightbox/_lightbox.scss","_lightbox.scss","_simplebar.scss","leaflet/_leaflet.scss","leaflet/_leaflet_heightgraph.scss","_leaflet.scss","_mask_project.scss","_mask_upload.scss","_mask_admin.scss","_mobile.scss"],"names":[],"mappings":"CAGA,WACC,qBACA,kBACA,gBACA,kBACA,8FACA,iFAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,yDAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,8FACA,2GAGC,WACD,qBACA,kBACA,gBACA,kBACA,0DACA,yJAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,iFAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,yDAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,0BAGC,WACD,qBACA,kBACA,gBACA,kBACA,kGACA,2GAGC,WACD,qBACA,kBACA,gBACA,kBACA,8DACA,yJC1GD,0BACE,iBAEF,uBACE,iBAEF,sBACE,iBAEF,qBACE,iBAEF,kBACE,iBAWF,6IAPC,kBAQoB,8BAPpB,eAOoB,8BANpB,cAMoB,8BALpB,aAKoB,8BAJpB,UAIoB,8BAsBrB,oBACI,GACI,mBAEJ,MACI,qBAEJ,KACI,mBACA,uBAEJ,GACI,yBAEJ,KACI,0BAMR,QACC,6BAGD,2BACC,uBAGD,oCACC,eACA,gCACA,SAGD,SACC,YAGD,SACC,qBACA,qBAGD,gBACC,eACA,iBACA,WACA,gBAEA,4BACC,WACA,gBAIF,+BACC,YACA,iBACA,kBAGD,GACC,cACA,iBACA,kBAMA,YACC,iBACA,kBACC,UAED,oBACC,aAED,oBACC,YC3HH,WACE,iCACA,kBACA,gBACA,aCLqB,MDMrB,qCACA,2RAOF,wgEAEE,iCACA,gBEnBF,4hEAME,kCACA,mCACA,qBACA,kBACA,oBACA,oBACA,cCXF,yEACE,yBACA,kBACA,yBAGF,OACE,gBAGF,OACE,iBAIA,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,QACE,eClBJ,OACE,kBACA,MHOqB,OIRvB,OACE,qBACA,kBACA,eAEA,4BAGF,OACE,UACA,kBACA,kBACA,MJLqB,IIMrB,oBCbF,WACE,wBACA,mBACA,yBAGF,yBACA,2BAOE,gkCACA,mlCCfF,SACE,qCAGF,UACE,uCAGF,mBACE,GACE,uBAGF,KACE,0BCdJ,cCWE,sEACA,wBDXF,eCUE,sEACA,yBDVF,eCSE,sEACA,yBDRF,oBCYE,gFACA,uBDZF,kBCWE,gFACA,uBDXF,mDCUE,gFACA,wBDLA,oIAME,YElBJ,UACE,qBACA,WACA,gBACA,kBACA,sBACA,YAGF,0BAEE,OACA,kBACA,kBACA,WAGF,aACE,oBAGF,aACE,cAGF,YACE,MTpBqB,KUQtB,s2BACC,mBAED,s7BACC,kBAIF,klFACC,eACA,kBACA,iBACA,qBACA,WACA,gBACA,uCAGA,q5DACC,WAGD,grEACC,cACA,WACA,YAKF,8zDACA,6BACA,+BACA,+BACA,2BACA,+BACA,+BACA,0DACA,s7CACiC,YACjC,k0CACA,sGAGA,2BACA,uCACA,kCACA,yCACA,mCACA,iCACA,8BACA,mHACA,gCACA,iCACA,iCACA,gCAGA,kCACA,+BACA,u3EACA,+BACA,6BACA,8BACA,8BAGA,suDACA,6BACA,6BACA,6BACA,+BACA,kCACA,4BACA,8BACA,mCACA,mCACA,qHACA,8BACA,kCACA,kCACA,4BACA,mCAIA,8BACA,wxEAGA,gCAGA,mCACA,iCACA,mCACA,8BACA,2BACA,4BACA,yCACA,2CACA,6CACA,+CACA,iCACA,4BACA,mCACA,qCACA,6BACA,wCACA,0CACA,4BACA,oCACA,2CACA,6CACA,+BACA,4BCpIA,0BACE,gBAGF,iBACE,kBACA,MACA,OACA,aACA,sBACA,2DACA,WACA,aAGF,UACE,kBACA,OACA,WACA,cACA,kBACA,cACA,mBACA,aAGF,oBACE,cACA,YACA,kBACA,gBACA,kBAGA,sBAGF,gBACE,YAGF,mBACE,kBACA,QACA,YACA,aACA,cACA,kBAIA,sBAGF,yBACE,WACA,cACA,WAGF,WACE,kBACA,QACA,OACA,WACA,WACA,kBACA,cAGF,WACE,cACA,WACA,YACA,cACA,gDAGF,QACE,kBACA,MACA,OACA,YACA,WACA,WAGF,mBACE,OAGF,UACE,aACA,2GAGF,kBACE,YACA,eACA,cAGF,kBACE,UACA,OACA,WACA,sDACA,0DACA,UACA,+BACA,4BACA,0BACA,uBAGF,wBACE,4DACA,UAGF,kBACE,UACA,QACA,YACA,uDACA,0DACA,UACA,+BACA,4BACA,0BACA,uBAGF,wBACE,4DACA,UAGF,kBACE,cACA,gBACA,QACA,WACA,8BACA,+BAGF,wBACE,WACA,cACA,WAGF,SACE,cACA,WAGF,qBACE,UACA,WACA,gBACA,kBAGF,qBACE,eACA,iBACA,gBAGF,uBACE,WAGF,oBACE,cACA,WACA,mBACA,eACA,WAGF,mBACE,cACA,YACA,WACA,YACA,wDACA,iBACA,aACA,2DACA,WACA,+BACA,4BACA,0BACA,uBAGF,yBACE,eACA,4DACA,UCjMF,iBACC,SACA,QACA,aAGD,UACC,aACA,mBACA,uBACA,WACA,YAEA,mBACC,sBAEA,qCACC,WACA,YAGC,0DACC,qBACA,2BAGC,uFACC,qBACA,kBACA,2BACA,gBAEA,+FACC,cAOH,2EACC,iBAML,qBACC,mBAEA,uCACC,YACA,YAGC,iEACC,cACA,eACA,yBAGD,6EACC,yBACA,WACA,kBAQJ,6BACC,SACA,gBACA,sCAEA,2CACC,gBAEA,qDACC,6BACA,gBACA,YACA,iBACA,iBACA,WAEA,UACC,2FAKF,qDACC,uBAED,gEACC,SACA,yBAIA,0HACC,WACA,qBAEA,wIACC,kBACA,oBAIF,6DAvHH,gBACA,cAwHI,oEACC,SAIF,6DA9HH,gBACA,cA+HI,oEACC,UAQL,4BACC,SACA,UACA,cACA,gBAEA,qCACC,gBACA,4BAEA,iDACC,WAEA,kEACC,eAEA,8EACC,aAGD,0EdpHJ,uBACA,gBACA,mBcuHG,4DACC,wBAGF,wDACC,WACA,cACA,gBACA,aACA,mBACA,qBAEA,kEA9KH,gBACA,cAgLI,aACA,YACA,yBACA,gBAMJ,qBA1LA,gBACA,cA4LC,WChMF,iBACE,kBACA,sBACA,eACA,2BACA,yBACA,uBAGF,mBACE,gBACA,cACA,eACA,kBACA,mBAGF,gBACE,kBACA,kBACA,gBACA,UACA,SACA,OACA,MACA,SACA,QACA,sBACA,uBACA,UAGF,kBACE,6BACA,8BACA,uBACA,kBACA,MACA,OACA,SACA,QACA,UACA,SACA,iCAGF,2BACE,kBACA,iCACA,kBACA,cACA,YACA,WACA,eACA,gBACA,qBACA,wBAGF,2FAEE,QACA,SAGF,mDAEE,YACA,cAGF,uBACE,gBACA,eACA,WACA,oBAGF,wCACE,8BACA,YACA,WACA,cACA,kBACA,WACA,eACA,gBACA,WACA,UACA,SACA,oBACA,kBACA,cACA,aAGF,gCACE,mBACA,cACA,UACA,kBACA,MACA,OACA,aACA,YACA,eACA,cACA,gBACA,oBACA,WAGF,iBACE,UACA,kBACA,QACA,SACA,oBACA,gBAGF,uDACE,oBACA,iBACA,yBAGF,qDACE,mBAGF,qBACE,kBACA,OACA,QACA,gBAGF,4BACE,kBACA,WACA,gBACA,kBACA,SACA,UACA,UACA,8BAGF,8CAEE,WACA,6BAGF,oCACE,MACA,WAGF,gEACE,QACA,WAGF,sCACE,OACA,YAGF,kEACE,YACA,SACA,UAGF,2DACE,WACA,OACA,QACA,WACA,aACA,eACA,WAIF,mEACE,WACA,OAGF,yBACE,cACA,eACA,UACA,kBACA,aACA,YACA,kBACA,kBAGF,0BACE,eACA,OACA,kBACA,kLine truncated
|
||||
Reference in new issue
Block a user