- 26. august 2023
- He landed
- The plane has landed. It arrived7 hours ago (20 minutes early).
- Dubai
- DXB/OMDB
42m
348 km / 215 thousand
- nutmeg
- MCT/OOMS
(Video) Oman Air inflight B737-900 - Dubai International - Muscat
- TERMINAL:1
DOOR:D20
- A trip 11:17UTC+04
- 12 minutes late
- Arrival 11:59UTC+04
- 20 minutes early
AIRLINE
- DO
- Oman Air
- IATA/ICAO
- MINE / OMA
- END
- Oman
Information about airlines
" : ""}
`; if (activeHex in marker) { liveMap.removeLayer(marker[activeHex]); } const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ classname: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[3] ? 0, 9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); label [activehex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}degrees)`; activeMarker = null; } active Hex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none';} /** * Recalculates the cursor's new position based on the elapsed time and its previous state. * @param {Object} liveMap */ async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] objects.entries(lastPos)) { if (type && prevPos[3] >= 50 && !prevPos[6]) { const speed = prevPos[3] || 0; fixed interval = Date.now() - prevPos[4]; const dist = speed * range / 1000 / 3600 * 1852; if (distance < 20) { continue; } // calculate the next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(distance / r_ground) + cos(lat1) * sin(distance / r_ground) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(distance / r_earth) * cos(lat1), cos(distance / r_earth) - sin(lat1) * sin(lat2)); const lat2d = toDeg(lat2); const lon2d = toDeg(lon2); lastPos[key] = [lat2d, lon2d, prevPos[2], prevPos[3], Date.now(), prevPos[5], prevPos[6], prevPos[7]]; label [key].setLatLng([lat2d, lon2d]); if (liveTrack && activeMarker == key) { const l = liveTrack.getLatLngs(); l.push(L.latLng(lat2d, lon2d, prevPos[5])); try { liveTrack.setLatLngs(l); } catch (e) { /* Catch the error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "light gray", noClip: true, vertices: 100 }; estTrack = t.lng < tn.lng? L.Polyline.Arc(activeDest, tn, arcOptions): L.Polyline.Arc(tn, activeDest, arcOptions); estTrack.addTo(livemap); tracks.push(estTrack); } } } } recalcInProg = false;}/** * Gets data from the specified URL, handles errors and returns a JSON response. * @param {string} url */async function getData(url) { const response = expect fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } if (sf === "") { document.getElementById("liveUpdErr").style.display = 'none'; document.getElementById("liveUpdNotFound").style.display = 'nothing'; } returnResponse.json();}/** * Handles fetch errors * @param {Object} response */ function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); if (response.status !== 404) { refreshActive = false; liveUpdNotFound.style.display = 'nothing'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'nothing'; liveMapContainer.style.display = 'none'; liveUpdNotFound.style.display = 'block'; }}asynchronous function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; constbounds = liveMap.getBounds(); const url = constructURL(constraints, liveMap.getZoom(), clickHex); if (updateInProgressOrTooSoon(fromZoom)) return; recalcInProg = true; lastUpdate = Date.now(); updateInProg = true; const ld = await getData(url); if (!ld) { updateInProg = false; Return; } ProcessMapData(liveMap, ld, fromZoom, clickHex);} function documentIsHidden() { return document type.hidden !== "undefined" && document.hidden;} construct functionURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000? "Big Little"; const hexIncl = clickHex? `?incl=${clickHex}&` : "?"; return `/en/live/map/${Math.floor(bounds['_northEast'].lat * 1e5)}/${Math.floor(bounds['_southWest'].lat * 1e5)}/` + ` ${Math.floor(bounds['_southWest'].lng * 1e5)}/${Math.floor(bounds['_northEast'].lng * 1e5)}/${zoom}/${widthText}` + hexIncl + `${Math.floor(Date.now() / 5000)}`;} function updateInProgressOrTooSoon(fromZoom) { if (updateInProg) { return true; } const freq = fromZoom? minZoomFreq: minRefreshFreq; return Date.now() - lastUpdate < freq;} function ProcessMapData(liveMap, ld, fromZoom, clickHex) { newMarker = {}; arcs = []; curArc = []; arcCol = ""; previousCoord = []; document.getElementById("nr_flights_disp").innerText = ld["f"]; document.getElementById("nr_flights_tot").innerText = ld["t"]; const st = screenwidth / ld["f"] > 5; const redraw = st !== hadTitles; for (const entry in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; remove unused tags (liveMap); updateInProg = false; recalcInProg = false; FirstUpd = false; if (clickHex) { cursor[clickHex].fire('click'); }}function handleMarker(liveMap, e, redraw, st) { if (e[4] == null || e[5] == null) { return; } const currentPos = L.latLng(e[4], e[5]); if (resign && e[0] in cursor) { liveMap.removeLayer(cursor[e[0]]); delete tags[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }} update functionExistingMarker(e, currentPos) { const m = marker[e[0]]; m.setLatLng(currentPos); lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]] ; newMarker[e[0]] = true; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "degrees)"; function createNewMarker(liveMap, e, currentPos, st) { const htmlc = ( st?)" + e[9] + "
" : "") + "
"; const m = L.marker(currentPos, {icon: L.divIcon({className: 'flt-marker', html: htmlc }), alt: e[0], krycie: e[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[e[0]] = m; newMarker[e[0]] = sand; lastPos[e[0]] = [ e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; document.getElementById("mi-" + e[0 ]).style.transform = "rotate(" + e[2] + "deg)";}funkcja usuńUnusedMarkers(liveMap) { for (stała m w znaczniku) { if (!(m w nowym znaczniku) && m != aktywnyHex ) { liveMap.removeLayer(marker[m]); usuń znacznik[m]; } }}funktion påPlaneClick(e) { if (sf != "") { return; } updateInProg = true; const liveMap = e .target. _map; const hex = e.target.options.alt; if (hex == activeHex) { return; } updateTrack(liveMap, `/${lang}/live/track_hex/${hex}`, hex, e); }funktion påMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap (f.eks. sourceTarget, false); }function onZoomed(e) { updateMap(e.sourceTarget, true) }// Funkcję definiuj funkcję użytkową do tworzenia funkcji marka createMarker(latLng, iconClass, htmlContent, alt, opacitet) { return L. markør (latLng , { ikona: L.divIcon({className: iconClass, html: htmlContent }), alt: alt, neprozirnost: neprozirnost, }).on('click', onPlaneClick);}funktion updateTrack(liveMap, url, hex , e) { niech prevCoord = null; niech prevCoordFull = null; getData(url).then(funktion (ld) { if (!ld) { return; } const hadNoHex = hex === ""; if (hex === "" && url.includes("hex")) { hex = ld[0]; } else if (hex === "") { hex = ld[1]; } if (activeMarker && hex !== activeHex) { // Zresetuj stary znacznik const lp = lastPos[activeHex] ; const htmlc = (hadTitles? "" + lp[7] + "
" : "") + "
"; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), {icon: L.divIcon({className: 'flt-marker', html: htmlc }), alt: activeHex , ključ: lp[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[activeHex] = m; document.getElementById("mi-" + activeHex) .style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Du skal nu bruge if (hex!== activeHex && e) { const lp = lastPos[hex]; const htmlc = (hadTitles ?"" + lp[7] + "
" : "") + "
"; const m = L.marker(e.target.getLatLng(), { ikona: L.divIcon({className: 'flt-marker', html: htmlc }), alt: hex, neprozirnost: ld[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[hex] = m; liveMap.removeLayer(e.target); activeMarker = m; } odświeżaActive = true; recalcInProg = sand; łuki = []; curArc = []; arcCol = ""; prevCoord = []; spor = ld[23]; if (sf === "") { if (ld[0] !== " ") {domElements .get("liveFlnr").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveFlnr").innerText = ld[0]; } else {domElements .get("liveFlnr").innerText = ""; domElements.get("liveFlnr").href = ""; } if (ld[21]) { domElements.get("liveAirline").innerText = ld[21 ]; } else { domElements.get("liveAirline").innerText = ""; } domElements.get("liveHex").innerText = ld[1]; if (ld[2] !== " " && ld[ 2] !== ld[0]) { domElements.get("liveCallsign").innerText = ld[2]; } else { domElements.get("liveCallsign").innerText = ""; } if (ld[3] !== "") { domElements.get("liveReg").href = `/${lang}/planes/${ld[3]}`; domElements.get("liveRegBlock").style.display = "blok"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "brak"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { domElements.get("liveDep").innerText = ld[5]; domElements.get("liveDepFlag").src = "/staticfiles/" + ld[6].toLowerCase() + ".svg"; domElements.get("liveDep").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepTime").innerText = ld[11]; if (ld[19] && ld[19] !== "+0") { domElements.get("liveDepDelay").innerText = ld[19]; } else { domElements.get("liveDepDelay").innerText = ""; } } else { domElements.get("liveDep").innerText = "NA"; domElements.get("liveDepTime").innerText = ""; domElements.get("liveDepDelay").innerText = ""; } if (ld[7] !== "NA") { domElements.get("liveArr").innerText = ld[8]; domElements.get("liveArrFlag").src = "/staticfiles/" + ld[9].toLowerCase() + ".svg"; domElements.get("liveArr").href = `/${lang}/airport/${ld[8]}/${ld[7]}`; domElements.get("liveArrTime").innerText = ld[12]; if (ld[20] && ld[20] !== "+0") { domElements.get("liveArrDelay").innerText = ld[20]; } else { domElements.get("liveArrDelay").innerText = ""; } } else { domElements.get("liveArr").innerText = "NA"; domElements.get("liveArrTime").innerText = ""; domElements.get("liveArrDelay").innerText = ""; } if (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "blok"; } else { domElements.get("liveLink").style.display = "brak"; } const lt = ścieżka[długość.ścieżki - 1]; domElements.get("liveAlt").innerText = lt[3] + "ft"; domElements.get("liveSpeed").innerText = lt[5] + "kts"; domElements.get("liveTrack").innerText = lt[4] + "°"; if (ld[18] !== "") { domElements.get("planePic").src = ld[18]; domElements.get("planePic").style.display = "blok"; } else { domElements.get("planePic").style.display = "brak"; } if (ld[22]) {domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "blok"; } else { domElements.get("liveTypeBlock").style.display = "brak"; domElements.get("liveType").innerText = "NA"; } } // ažuriraj gornje elemente, jesu li są iste const liveStatusInd = domElements.get("liveStatusInd"); if (liveStatusInd) { if (!domElements.has("liveTrackHB")) { domElements.set("liveAltHB", document.getElementById("liveAltHB")); domElements.set("liveSpeedHB", document.getElementById("liveSpeedHB")); domElements.set("liveTrackHB", document.getElementById("liveTrackHB")); domElements.set("liveDataHB", document.getElementById("liveDataHB")); } liveStatusInd.innerText = ld[17] ? "Na żywo": "Wylądował"; const lt = ld[23][ld[23].duljina - 1]; domElements.get("depTimeLiveHB").innerText = ld[11]; domElements.get("arrTimeLiveHB").innerText = ld[12]; domElements.get("depDelHB").innerText = ld[19]; domElements.get("arrDelHB").innerText = ld[20]; domElements.get("liveAltHB").innerText = lt[3]; domElements.get("liveSpeedHB").innerText = lt[5]; domElements.get("liveTrackHB").innerText = lt[4]; if (!ld[17]) { domElements.get("liveDataHB").style.display = "brak"; } } if (ld[13] !== null && ld[14] !== null && długość.ścieżki > 0 && Math.abs(ld[13] - ścieżka[0][1] / 1e5) > 1 && Math.abs(ld[14] - ścieżka[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [ścieżka[0][1] / 1e5, ścieżka[0][2] / 1e5]], „jasnozary”, prawda]); } prevCoord = null; prevCoordFull = null; lp = nula; for (const wpis na ścieżce) { const p = ścieżka[entr]; if (p[1] === null || p[2] === null) { kontynuuj; } niech col = "zielony"; if (prevCoord && (Math.abs(prevCoord[0] - p[1] / 1e5) > 1 || Math.abs(prevCoord[1] - p[2] / 1e5) > 1)) { arcs.push( [curArc, arcCol, false]); arcCol = ""; arcs.push([[[prevCoord[0], prevCoord[1]], L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])], "jasnoszary", prawda]) ; curArc = [L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])]; } else if (arcCol !== col) { if (curArc.length > 0) { arcs.push([curArc, arcCol, false]); } if (prethodnaKoord) { curArc = [prethodnaKoord]; } andet { curArc = []; } arcCol = stupac; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], Date.now(), p[3], lažno, ld[0]]; prevCoord = L.latLng(p[1] / 1e5, p[2] / 1e5, p[3]); curArc.push(prevCoord); if (p[4] !== 0) { lastTrack = p[4]; } } if (curArc.length > 0) { arcs.push([curArc, arcCol]); } if (ld[15] !== null && ld[16] !== null && prevCoord && (Math.abs(prevCoord.lat - ld[15]) > 0.1 || Math.abs(prevCoord.lng - ld [16]) > 0,1)) { arcs.push([[prevCoord, [ld[15], ld[16]]], "jasnoszary", prawda]); aktywnyDest = L.latLng(ld[15], ld[16]); } for (const idx w ścieżkach) { utwory[idx].remove(); } utwort = []; for (const idx w łukach) { const a = buer[idx]; if (a[2]) { if (a[0] [0] [1] > a [0] [1] [1]) { stała temperatura = a [0] [0]; a[0][0] = a[0][1]; a[0][1] = temperatura; } p = L.Polyline.Arc(a[0][0], a[0][1], { boja: a[1], noClip: true, vrhovi: 100 }); estTrack = p; } andet { p = L.hotline(a[0], { paleta: { 0: 'jasnoszary', 0.1: 'zielony', 0.5: 'żółty', 0.7: 'pomarańczowy', 1: 'czerwony' }, min. : 0, max: 36000, szerokość konturu: 0, waga: 4, noClip: true }); liveTrack = p; } p.addTo(Mapa na żywo); utwory.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prethodnaKoord); aktywnyZnacznik = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "obróć(" + lastTrack + "stopień)"; } if (!opdaterer && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: "/img/plane-icon_active.svg?20221124", iconSize: liveMap._zoom > 7 ? rozmiary [0]: rozmiary[1] }), rotacjaAngle: prevCoordFull[2], rotacjaOrigin: "centrum centrum", frigivet: 0,8, tytuł: hex }).addTo(liveMap); } andet { activeMarker.setLatLng(prevCoord); } } if (e || hadNoHex) { // Ustanova odświeżanie tylko przy pierwszym kliknięciu lub dla bieżących śladów lotu (wtedy nie podaje się szesnastkowego) if (trackRefreshInterval) { window.RefreshInterval); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!opdaterer && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'blok'; } aktywnyHex = szesnastkowy; aktualizacjaInProg = fałsz; recalcInProg = fałsz; });} funkcja buildLiveMap(liveMap,activeHex) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateMap(Mapa na żywo, fałsz, aktywnyHex); liveMap.on('zoomend', påZoomet); liveMap.on('przenieś', onMoveend); } funkcja buildTrackMap(liveMap, url) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateTrack(liveMap, url, "", null); } loadingScript("/js/leaflet.js?20220411" ,function() { // konfiguriraj mapę map = new L.map('map-flight',{twoFingerZoom: true,sleep:false,minZoom:0} ); // utwórz warstwę kafelków s poprawnym przypisaniem map.fitBounds([[23.6015386,55.36444],[25.25278,58.2899376]]); viewSet = true; dep=[25.436r=[25.437ar=[25.452r=[25.532ar=[25.452r=]. 6,58.2899376]; var osmUrl= 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; var osmAttrib='© OpenStreetMap'; var osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); map.attributionControl.setPrefix(''); map.addLayer(osm); if (dep[1]
FLY
MODEL A4O-ME Boeing B737 MAX 8
ICAO IDENTIFICATION 70C0FC
SEAT CONFIGURATION 162 places
12 Work150 Economics
FIRST FLIGHT september 2018
4 years ago Flight information
GENERAL INFORMATION ABOUT THE ROUTE
FREQUENCY:
weekday
Sunday, Mon, Tues, Wed, Tue, Fri, Sat
DIRECT DISTANCE 348 km216 mio
FLIGHT TIME 1 hour and 11 minutes
FLIGHTS/WEEK 85 flights
ACCURACY 26 flights per week postponed
69% on time
Latency statistics
PLACES / WEEK 190 seats/flight
69,695 places/week Route information
CO2 EMISSIONS
Economy 52 kg
Business 158 kg
FAQs
Earning praise for all facets of the flight, Oman Air outscored airlines such as Emirates, Qatar Airways and Delta, a large U.S.-based carrier.
What terminal does Oman Air fly from in Dubai? ›
What terminal does Oman Air fly from at Dubai International? Oman Air flights are departing from Terminal 1, 3.
When can you check-in online with Oman Air? ›
Yes, Oman Air's Web Check-in is available between 24 and 3 hours from the scheduled time of departure. The counters at the airport close 60 minutes prior to the scheduled departure. Check-in now for your Oman Air flight.
Which is the best Oman Airlines? ›
Oman Air, the national carrier of the Sultanate of Oman, has earned 2 more 2020 World Travel Awards, for providing the world's best service to the Middle East and the world's best First Class experience.
Is Oman Air strict with baggage? ›
Standard size and weight of each bag:
more than 32kg, it will not be accepted under any circumstances. Dimensions: Total Dimensions shall not exceed 158 cm. Baggage that exceeds the standard sizes and weight restrictions are subject to applicable fees Extra Baggage Weight.
Is Oman stricter than Dubai? ›
I have been to Oman quite a few times, it is a little more conservative than Dubai, but not overly so.
What is 2pc baggage allowance in Oman Air? ›
Oman Air Checked Baggage Allowance
If you are travelling in First Class or Business Class cabins, you can carry up to 2 baggage pieces with the overall weight not exceeding 50 kg. When you travel in Economy Class cabins, you can carry 2 baggage pieces not beyond 30 kg.
Is Oman Air good airline? ›
Oman Air is a Omani carrier. Frequent travelers give the airline an average rating of 8.0/10. This is slightly above the general average .
Is Fly Dubai in the same terminal as Emirates? ›
Arriving in Dubai
If you arrive on an Emirates flight, go to the central transfer desk in Terminal 3 (transfer desk K). If you arrive on a flydubai flight, go to the transfer desk in Terminal 2.
Is Oman Air good airlines? ›
Oman Air is a Omani carrier. Frequent travelers give the airline an average rating of 8.0/10. This is slightly above the general average .
Like with meals, both Emirates and Qatar Airways offer some of the best in-flight entertainment systems in the world. That said, while Qatar Airways' IFE might be the second, third, or fourth best, Emirates' IFE is undoubtedly the best one when it comes to content selection.
Is Oman as good as Dubai? ›
Oman is completely different to Dubai. There are some good hotels in Muscat of similar 5 * standard. There are real souqs and lots of things to do sightseeing in the small city of Muscat. There are many historic buildings, including forts and the old walled city.
Which is best Oman or Dubai? ›
The everyday experience Muscat offers its tourists feels more cultural than that of Dubai, where luxury is at its finest, but you don't feel the history and culture so much. Just walking around Oman makes you feel very much a part of the cities culture.
Article information
Author: Delena Feil
Last Updated: 09/27/2023
Views: 5447
Rating: 4.4 / 5 (45 voted)
Reviews: 92% of readers found this page helpful
Author information
Name: Delena Feil
Birthday: 1998-08-29
Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543
Phone: +99513241752844
Job: Design Supervisor
Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles
Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.