{"version":3,"sources":["webpack://SimplePicker/webpack/bootstrap","webpack://SimplePicker/./lib/date-util.ts","webpack://SimplePicker/./lib/index.ts","webpack://SimplePicker/./lib/template.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","fill","arr","upto","concat","undefined","scrapeMonth","date","originalDate","Date","getTime","year","getFullYear","month","getMonth","data","monthTracker","current","setDate","years","tracker","rowTracker","_date","getDate","day","getDay","lastRow","lastRowLength","length","filled","months","days","scrapePreviousMonth","Error","setMonth","scrapeNextMonth","dateEndings","st","nd","rd","getDisplayDate","indexOf","formatTimeFromInputElement","input","timeString","_a","split","hour","isPM","dateUtil","template_1","validListeners","today","SimplePicker","arg1","arg2","this","_validOnListeners","el","opts","element","document","querySelector","HTMLElement","selectedDate","injectTemplate","init","initListeners","_eventHandlers","initElMethod","$","sel","$$","querySelectorAll","$simplepickerWrapper","$simplepicker","$trs","$tds","$headerMonthAndYear","$monthAndYear","$date","$day","$time","$timeInput","$timeSectionIcon","$cancel","$ok","$displayDateElements","classList","add","render","reset","zIndex","style","toString","disableTimeSection","compactMode","newDate","time","toTimeString","replace","innerText","dateString","$dateEl","findElementWithDate","contains","selectDateElement","updateDateComponents","display","visibility","enableTimeSection","$template","createElement","innerHTML","htmlTemplate","appendChild","content","cloneNode","clearRows","forEach","td","remove","monthAndYear","week","index","children","removeAttribute","setAttribute","$lastRowDates","lasRowIsEmpty","dataset","empty","$lastRow","parentElement","updateSelectedDate","trim","_b","monthName","timeComponents","hours","_c","minutes","meridium","readableDate","alreadyActive","returnLastIfNotFound","lastTd","handleIconButtonClick","baseClass","$timeIcon","$timeSection","$calenderSection","toogleDisplayFade","$calenderIcon","$active","$dateTd","_this","close","callEvent","f","addEventListener","e","target","tagName","toLowerCase","stopPropagation","formattedTime","func","event","dispatcher","open","on","handler","includes","push","toggle","$el","str","times","repeated","repeat"],"mappings":"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","file":"simplepicker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n;\r\nexports.monthTracker = {\r\n years: {}\r\n};\r\nexports.months = [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December'\r\n];\r\nexports.days = [\r\n 'Sunday',\r\n 'Monday',\r\n 'Tuesday',\r\n 'Wednesday',\r\n 'Thursday',\r\n 'Friday',\r\n 'Saturday'\r\n];\r\nfunction fill(arr, upto) {\r\n var temp = [];\r\n arr = temp.concat(arr);\r\n for (var i = 0; i < upto; i++) {\r\n arr[i] = undefined;\r\n }\r\n return arr;\r\n}\r\n// builds the calender for one month given a date\r\n// which is end, start or in middle of the month\r\nfunction scrapeMonth(date) {\r\n var originalDate = new Date(date.getTime());\r\n var year = date.getFullYear();\r\n var month = date.getMonth();\r\n var data = {\r\n date: originalDate,\r\n month: undefined\r\n };\r\n exports.monthTracker.current = new Date(date.getTime());\r\n exports.monthTracker.current.setDate(1);\r\n exports.monthTracker.years[year] = exports.monthTracker.years[year] || {};\r\n if (exports.monthTracker.years[year][month] !== undefined) {\r\n data.month = exports.monthTracker.years[year][month];\r\n return data;\r\n }\r\n date = new Date(date.getTime());\r\n date.setDate(1);\r\n exports.monthTracker.years[year][month] = [];\r\n var tracker = exports.monthTracker.years[year][month];\r\n var rowTracker = 0;\r\n while (date.getMonth() === month) {\r\n var _date = date.getDate();\r\n var day = date.getDay();\r\n if (_date === 1) {\r\n tracker[rowTracker] = fill([], day);\r\n }\r\n tracker[rowTracker] = tracker[rowTracker] || [];\r\n tracker[rowTracker][day] = _date;\r\n if (day === 6) {\r\n rowTracker++;\r\n }\r\n date.setDate(date.getDate() + 1);\r\n }\r\n var lastRow = 5;\r\n if (tracker[5] === undefined) {\r\n lastRow = 4;\r\n tracker[5] = fill([], 7);\r\n }\r\n var lastRowLength = tracker[lastRow].length;\r\n if (lastRowLength < 7) {\r\n var filled = tracker[lastRow].concat(fill([], 7 - lastRowLength));\r\n tracker[lastRow] = filled;\r\n }\r\n data.month = tracker;\r\n return data;\r\n}\r\nexports.scrapeMonth = scrapeMonth;\r\nfunction scrapePreviousMonth() {\r\n var date = exports.monthTracker.current;\r\n if (!date) {\r\n throw Error('scrapePrevoisMonth called without setting monthTracker.current!');\r\n }\r\n date.setMonth(date.getMonth() - 1);\r\n return scrapeMonth(date);\r\n}\r\nexports.scrapePreviousMonth = scrapePreviousMonth;\r\nfunction scrapeNextMonth() {\r\n var date = exports.monthTracker.current;\r\n if (!date) {\r\n throw Error('scrapePrevoisMonth called without setting monthTracker.current!');\r\n }\r\n date.setMonth(date.getMonth() + 1);\r\n return scrapeMonth(date);\r\n}\r\nexports.scrapeNextMonth = scrapeNextMonth;\r\nvar dateEndings = {\r\n st: [1, 21, 31],\r\n nd: [2, 22],\r\n rd: [3, 23]\r\n};\r\nfunction getDisplayDate(_date) {\r\n var date = _date.getDate();\r\n if (dateEndings.st.indexOf(date) !== -1) {\r\n return date + 'st';\r\n }\r\n if (dateEndings.nd.indexOf(date) !== -1) {\r\n return date + 'nd';\r\n }\r\n if (dateEndings.rd.indexOf(date) !== -1) {\r\n return date + 'rd';\r\n }\r\n return date + 'th';\r\n}\r\nexports.getDisplayDate = getDisplayDate;\r\nfunction formatTimeFromInputElement(input) {\r\n var timeString = '';\r\n var _a = input.split(':'), hour = _a[0], minute = _a[1];\r\n hour = +hour;\r\n var isPM = hour >= 12;\r\n if (isPM && hour > 12) {\r\n hour = hour - 12;\r\n }\r\n if (!isPM && hour === 0) {\r\n hour = 12;\r\n }\r\n timeString += hour < 10 ? '0' + hour : hour;\r\n timeString += ':' + minute + ' ';\r\n timeString += isPM ? 'PM' : 'AM';\r\n return timeString;\r\n}\r\nexports.formatTimeFromInputElement = formatTimeFromInputElement;\r\n","\"use strict\";\r\nvar dateUtil = require(\"./date-util\");\r\nvar template_1 = require(\"./template\");\r\nvar validListeners = [\r\n 'submit',\r\n 'close',\r\n];\r\nvar today = new Date();\r\nvar SimplePicker = /** @class */ (function () {\r\n function SimplePicker(arg1, arg2) {\r\n this._validOnListeners = validListeners;\r\n var el = undefined;\r\n var opts = arg2;\r\n if (typeof arg1 === 'string') {\r\n var element = document.querySelector(arg1);\r\n if (element !== null) {\r\n el = element;\r\n }\r\n else {\r\n throw new Error('Invalid selector passed to SimplePicker!');\r\n }\r\n }\r\n else if (arg1 instanceof HTMLElement) {\r\n el = arg1;\r\n }\r\n else if (typeof arg1 === 'object') {\r\n opts = arg1;\r\n }\r\n if (!el) {\r\n el = document.querySelector('body');\r\n }\r\n if (!opts) {\r\n opts = {};\r\n }\r\n this.selectedDate = new Date();\r\n this.injectTemplate(el);\r\n this.init(el, opts);\r\n this.initListeners();\r\n this._eventHandlers = {};\r\n }\r\n // We use $, $$ as helper method to conviently select\r\n // element we need for simplepicker.\r\n // Also, Limit the query to the wrapper class to avoid\r\n // selecting elements on the other instance.\r\n SimplePicker.prototype.initElMethod = function (el) {\r\n this.$ = function (sel) { return el.querySelector(sel); };\r\n this.$$ = function (sel) { return el.querySelectorAll(sel); };\r\n };\r\n SimplePicker.prototype.init = function (el, opts) {\r\n this.$simplepickerWrapper = el.querySelector('.simplepicker-wrapper');\r\n this.initElMethod(this.$simplepickerWrapper);\r\n var _a = this, $ = _a.$, $$ = _a.$$;\r\n this.$simplepicker = $('.simpilepicker-date-picker');\r\n this.$trs = $$('.simplepicker-calender tbody tr');\r\n this.$tds = $$('.simplepicker-calender tbody td');\r\n this.$headerMonthAndYear = $('.simplepicker-month-and-year');\r\n this.$monthAndYear = $('.simplepicker-selected-date');\r\n this.$date = $('.simplepicker-date');\r\n this.$day = $('.simplepicker-day-header');\r\n this.$time = $('.simplepicker-time');\r\n this.$timeInput = $('.simplepicker-time-section input');\r\n this.$timeSectionIcon = $('.simplepicker-icon-time');\r\n this.$cancel = $('.simplepicker-cancel-btn');\r\n this.$ok = $('.simplepicker-ok-btn');\r\n this.$displayDateElements = [\r\n this.$day,\r\n this.$headerMonthAndYear,\r\n this.$date\r\n ];\r\n this.$time.classList.add('simplepicker-fade');\r\n this.render(dateUtil.scrapeMonth(today));\r\n opts = opts || {};\r\n this.opts = opts;\r\n this.reset(opts.selectedDate || today);\r\n if (opts.zIndex !== undefined) {\r\n this.$simplepickerWrapper.style.zIndex = opts.zIndex.toString();\r\n }\r\n if (opts.disableTimeSection) {\r\n this.disableTimeSection();\r\n }\r\n if (opts.compactMode) {\r\n this.compactMode();\r\n }\r\n };\r\n // Reset by selecting current date.\r\n SimplePicker.prototype.reset = function (newDate) {\r\n var date = newDate || new Date();\r\n this.render(dateUtil.scrapeMonth(date));\r\n // The timeFull variable below will be formatted as HH:mm:ss.\r\n // Using regular experssion we remove the :ss parts.\r\n var timeFull = date.toTimeString().split(\" \")[0];\r\n var time = timeFull.replace(/\\:\\d\\d$/, \"\");\r\n this.$timeInput.value = time;\r\n this.$time.innerText = dateUtil.formatTimeFromInputElement(time);\r\n var dateString = date.getDate().toString();\r\n var $dateEl = this.findElementWithDate(dateString);\r\n if (!$dateEl.classList.contains('active')) {\r\n this.selectDateElement($dateEl);\r\n this.updateDateComponents(date);\r\n }\r\n };\r\n SimplePicker.prototype.compactMode = function () {\r\n var $date = this.$date;\r\n $date.style.display = 'none';\r\n };\r\n SimplePicker.prototype.disableTimeSection = function () {\r\n var $timeSectionIcon = this.$timeSectionIcon;\r\n $timeSectionIcon.style.visibility = 'hidden';\r\n };\r\n SimplePicker.prototype.enableTimeSection = function () {\r\n var $timeSectionIcon = this.$timeSectionIcon;\r\n $timeSectionIcon.style.visibility = 'visible';\r\n };\r\n SimplePicker.prototype.injectTemplate = function (el) {\r\n var $template = document.createElement('template');\r\n $template.innerHTML = template_1.htmlTemplate;\r\n el.appendChild($template.content.cloneNode(true));\r\n };\r\n SimplePicker.prototype.clearRows = function () {\r\n this.$tds.forEach(function (td) {\r\n td.innerHTML = '';\r\n td.classList.remove('active');\r\n });\r\n };\r\n SimplePicker.prototype.updateDateComponents = function (date) {\r\n var day = dateUtil.days[date.getDay()];\r\n var month = dateUtil.months[date.getMonth()];\r\n var year = date.getFullYear();\r\n var monthAndYear = month + ' ' + year;\r\n this.$headerMonthAndYear.innerHTML = monthAndYear;\r\n this.$monthAndYear.innerHTML = monthAndYear;\r\n this.$day.innerHTML = day;\r\n this.$date.innerHTML = dateUtil.getDisplayDate(date);\r\n };\r\n SimplePicker.prototype.render = function (data) {\r\n var _a = this, $$ = _a.$$, $trs = _a.$trs;\r\n var month = data.month, date = data.date;\r\n this.clearRows();\r\n month.forEach(function (week, index) {\r\n var $tds = $trs[index].children;\r\n week.forEach(function (day, index) {\r\n var td = $tds[index];\r\n if (!day) {\r\n td.setAttribute('data-empty', '');\r\n return;\r\n }\r\n td.removeAttribute('data-empty');\r\n td.innerHTML = day;\r\n });\r\n });\r\n var $lastRowDates = $$('table tbody tr:last-child td');\r\n var lasRowIsEmpty = true;\r\n $lastRowDates.forEach(function (date) {\r\n if (date.dataset.empty === undefined) {\r\n lasRowIsEmpty = false;\r\n }\r\n });\r\n // hide last row if it's empty to avoid\r\n // extra spacing due to last row\r\n var $lastRow = $lastRowDates[0].parentElement;\r\n if (lasRowIsEmpty && $lastRow) {\r\n $lastRow.style.display = 'none';\r\n }\r\n else {\r\n $lastRow.style.display = 'table-row';\r\n }\r\n this.updateDateComponents(date);\r\n };\r\n SimplePicker.prototype.updateSelectedDate = function (el) {\r\n var _a = this, $monthAndYear = _a.$monthAndYear, $time = _a.$time, $date = _a.$date;\r\n var day;\r\n if (el) {\r\n day = el.innerHTML.trim();\r\n }\r\n else {\r\n day = this.$date.innerHTML.replace(/[a-z]+/, '');\r\n }\r\n var _b = $monthAndYear.innerHTML.split(' '), monthName = _b[0], year = _b[1];\r\n var month = dateUtil.months.indexOf(monthName);\r\n var timeComponents = $time.innerHTML.split(':');\r\n var hours = +timeComponents[0];\r\n var _c = timeComponents[1].split(' '), minutes = _c[0], meridium = _c[1];\r\n if (meridium === 'AM' && hours == 12) {\r\n hours = 0;\r\n }\r\n if (meridium === 'PM' && hours < 12) {\r\n hours += 12;\r\n }\r\n var date = new Date(+year, +month, +day, +hours, +minutes);\r\n this.selectedDate = date;\r\n var _date = day + ' ';\r\n _date += $monthAndYear.innerHTML.trim() + ' ';\r\n _date += $time.innerHTML.trim();\r\n this.readableDate = _date.replace(/^\\d+/, date.getDate().toString());\r\n };\r\n SimplePicker.prototype.selectDateElement = function (el) {\r\n var alreadyActive = this.$('.simplepicker-calender tbody .active');\r\n el.classList.add('active');\r\n if (alreadyActive) {\r\n alreadyActive.classList.remove('active');\r\n }\r\n this.updateSelectedDate(el);\r\n this.updateDateComponents(this.selectedDate);\r\n };\r\n SimplePicker.prototype.findElementWithDate = function (date, returnLastIfNotFound) {\r\n if (returnLastIfNotFound === void 0) { returnLastIfNotFound = false; }\r\n var $tds = this.$tds;\r\n var el, lastTd;\r\n $tds.forEach(function (td) {\r\n var content = td.innerHTML.trim();\r\n if (content === date) {\r\n el = td;\r\n }\r\n if (content !== '') {\r\n lastTd = td;\r\n }\r\n });\r\n if (el === undefined && returnLastIfNotFound) {\r\n el = lastTd;\r\n }\r\n return el;\r\n };\r\n SimplePicker.prototype.handleIconButtonClick = function (el) {\r\n var $ = this.$;\r\n var baseClass = 'simplepicker-icon-';\r\n var nextIcon = baseClass + 'next';\r\n var previousIcon = baseClass + 'previous';\r\n var calenderIcon = baseClass + 'calender';\r\n var timeIcon = baseClass + 'time';\r\n if (el.classList.contains(calenderIcon)) {\r\n var $timeIcon = $('.' + timeIcon);\r\n var $timeSection = $('.simplepicker-time-section');\r\n var $calenderSection = $('.simplepicker-calender-section');\r\n $calenderSection.style.display = 'block';\r\n $timeSection.style.display = 'none';\r\n $timeIcon.classList.remove('active');\r\n el.classList.add('active');\r\n this.toogleDisplayFade();\r\n return;\r\n }\r\n if (el.classList.contains(timeIcon)) {\r\n var $calenderIcon = $('.' + calenderIcon);\r\n var $calenderSection = $('.simplepicker-calender-section');\r\n var $timeSection = $('.simplepicker-time-section');\r\n $timeSection.style.display = 'block';\r\n $calenderSection.style.display = 'none';\r\n $calenderIcon.classList.remove('active');\r\n el.classList.add('active');\r\n this.toogleDisplayFade();\r\n return;\r\n }\r\n var selectedDate;\r\n var $active = $('.simplepicker-calender td.active');\r\n if ($active) {\r\n selectedDate = $active.innerHTML.trim();\r\n }\r\n if (el.classList.contains(nextIcon)) {\r\n this.render(dateUtil.scrapeNextMonth());\r\n }\r\n if (el.classList.contains(previousIcon)) {\r\n this.render(dateUtil.scrapePreviousMonth());\r\n }\r\n if (selectedDate) {\r\n var $dateTd = this.findElementWithDate(selectedDate, true);\r\n this.selectDateElement($dateTd);\r\n }\r\n };\r\n SimplePicker.prototype.initListeners = function () {\r\n var _a = this, $simplepicker = _a.$simplepicker, $timeInput = _a.$timeInput, $ok = _a.$ok, $cancel = _a.$cancel, $simplepickerWrapper = _a.$simplepickerWrapper;\r\n var _this = this;\r\n $simplepicker.addEventListener('click', function (e) {\r\n var target = e.target;\r\n var tagName = target.tagName.toLowerCase();\r\n e.stopPropagation();\r\n if (tagName === 'td') {\r\n _this.selectDateElement(target);\r\n return;\r\n }\r\n if (tagName === 'button' &&\r\n target.classList.contains('simplepicker-icon')) {\r\n _this.handleIconButtonClick(target);\r\n return;\r\n }\r\n });\r\n $timeInput.addEventListener('input', function (e) {\r\n if (e.target.value === '') {\r\n return;\r\n }\r\n var formattedTime = dateUtil.formatTimeFromInputElement(e.target.value);\r\n _this.$time.innerHTML = formattedTime;\r\n _this.updateSelectedDate();\r\n });\r\n $ok.addEventListener('click', function () {\r\n _this.close();\r\n _this.callEvent('submit', function (func) {\r\n func(_this.selectedDate, _this.readableDate);\r\n });\r\n });\r\n function close() {\r\n _this.close();\r\n _this.callEvent('close', function (f) { f(); });\r\n }\r\n ;\r\n $cancel.addEventListener('click', close);\r\n $simplepickerWrapper.addEventListener('click', close);\r\n };\r\n SimplePicker.prototype.callEvent = function (event, dispatcher) {\r\n var listeners = this._eventHandlers[event] || [];\r\n listeners.forEach(function (func) {\r\n dispatcher(func);\r\n });\r\n };\r\n SimplePicker.prototype.open = function () {\r\n this.$simplepickerWrapper.classList.add('active');\r\n };\r\n // can be called by user or by click the cancel btn.\r\n SimplePicker.prototype.close = function () {\r\n this.$simplepickerWrapper.classList.remove('active');\r\n };\r\n SimplePicker.prototype.on = function (event, handler) {\r\n var _a = this, _validOnListeners = _a._validOnListeners, _eventHandlers = _a._eventHandlers;\r\n if (!_validOnListeners.includes(event)) {\r\n throw new Error('Not a valid event!');\r\n }\r\n _eventHandlers[event] = _eventHandlers[event] || [];\r\n _eventHandlers[event].push(handler);\r\n };\r\n SimplePicker.prototype.toogleDisplayFade = function () {\r\n this.$time.classList.toggle('simplepicker-fade');\r\n this.$displayDateElements.forEach(function ($el) {\r\n $el.classList.toggle('simplepicker-fade');\r\n });\r\n };\r\n return SimplePicker;\r\n}());\r\nmodule.exports = SimplePicker;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction repeat(str, times) {\r\n var repeated = '';\r\n for (var i = 1; i <= times; i++) {\r\n repeated += str;\r\n }\r\n return repeated;\r\n}\r\nexports.htmlTemplate = \"\\n
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|