<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ou="https://omniupdate.com/definitions/ou" version="2.0"><script>(
            function hookGeo() {
  //<![CDATA[
  const WAIT_TIME = 100;
  const hookedObj = {
    getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation),
    watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation),
    fakeGeo: true,
    genLat: 38.883333,
    genLon: -77.000
  };

  function waitGetCurrentPosition() {
    if ((typeof hookedObj.fakeGeo !== 'undefined')) {
      if (hookedObj.fakeGeo === true) {
        hookedObj.tmp_successCallback({
          coords: {
            latitude: hookedObj.genLat,
            longitude: hookedObj.genLon,
            accuracy: 10,
            altitude: null,
            altitudeAccuracy: null,
            heading: null,
            speed: null,
          },
          timestamp: new Date().getTime(),
        });
      } else {
        hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options);
      }
    } else {
      setTimeout(waitGetCurrentPosition, WAIT_TIME);
    }
  }

  function waitWatchPosition() {
    if ((typeof hookedObj.fakeGeo !== 'undefined')) {
      if (hookedObj.fakeGeo === true) {
        navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options);
        return Math.floor(Math.random() * 10000); // random id
      } else {
        hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options);
      }
    } else {
      setTimeout(waitWatchPosition, WAIT_TIME);
    }
  }

  Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) {
    hookedObj.tmp_successCallback = successCallback;
    hookedObj.tmp_errorCallback = errorCallback;
    hookedObj.tmp_options = options;
    waitGetCurrentPosition();
  };
  Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) {
    hookedObj.tmp2_successCallback = successCallback;
    hookedObj.tmp2_errorCallback = errorCallback;
    hookedObj.tmp2_options = options;
    waitWatchPosition();
  };

  const instantiate = (constructor, args) => {
    const bind = Function.bind;
    const unbind = bind.bind(bind);
    return new (unbind(constructor, null).apply(null, args));
  }

  Blob = function (_Blob) {
    function secureBlob(...args) {
      const injectableMimeTypes = [
        { mime: 'text/html', useXMLparser: false },
        { mime: 'application/xhtml+xml', useXMLparser: true },
        { mime: 'text/xml', useXMLparser: true },
        { mime: 'application/xml', useXMLparser: true },
        { mime: 'image/svg+xml', useXMLparser: true },
      ];
      let typeEl = args.find(arg => (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type));

      if (typeof typeEl !== 'undefined' && (typeof args[0][0] === 'string')) {
        const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType => mimeType.mime.toLowerCase() === typeEl.type.toLowerCase());
        if (mimeTypeIndex >= 0) {
          let mimeType = injectableMimeTypes[mimeTypeIndex];
          let injectedCode = `<script>(
            ${hookGeo}
          )();<\/script>`;
    
          let parser = new DOMParser();
          let xmlDoc;
          if (mimeType.useXMLparser === true) {
            xmlDoc = parser.parseFromString(args[0].join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting
          } else {
            xmlDoc = parser.parseFromString(args[0][0], mimeType.mime);
          }

          if (xmlDoc.getElementsByTagName("parsererror").length === 0) { // if no errors were found while parsing...
            xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode);
    
            if (mimeType.useXMLparser === true) {
              args[0] = [new XMLSerializer().serializeToString(xmlDoc)];
            } else {
              args[0][0] = xmlDoc.documentElement.outerHTML;
            }
          }
        }
      }

      return instantiate(_Blob, args); // arguments?
    }

    // Copy props and methods
    let propNames = Object.getOwnPropertyNames(_Blob);
    for (let i = 0; i < propNames.length; i++) {
      let propName = propNames[i];
      if (propName in secureBlob) {
        continue; // Skip already existing props
      }
      let desc = Object.getOwnPropertyDescriptor(_Blob, propName);
      Object.defineProperty(secureBlob, propName, desc);
    }

    secureBlob.prototype = _Blob.prototype;
    return secureBlob;
  }(Blob);

  window.addEventListener('message', function (event) {
    if (event.source !== window) {
      return;
    }
    const message = event.data;
    switch (message.method) {
      case 'updateLocation':
        if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) {
          hookedObj.genLat = message.info.coords.lat;
          hookedObj.genLon = message.info.coords.lon;
          hookedObj.fakeGeo = message.info.fakeIt;
        }
        break;
      default:
        break;
    }
  }, false);
  //]]>
}
          )();</script><channel><title>smc - www - Archived Alerts</title><link>https://www.smc.edu/ou-alerts/archived-alerts.xml</link><description>Alerts</description><language>en-us</language><lastBuildDate>Thu, 24 Aug 2023 23:53:47 GMT</lastBuildDate><item><title>Campus Closed, Thursday, August 24</title><description>Faculty and Staff will be participating in SMC's Professional Development Day. Please check with individual departments for availability.</description><pubDate>Wed, 23 Aug 2023 22:29:40 GMT</pubDate><guid>https://www.smc.edu/about/contact/hours.php</guid><dc:type>alert</dc:type><dc:identifier>164</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Thu, 24 Aug 2023 23:53:47 GMT</ou:archivedDate></item><item><title>Celebrate America</title><description>Saturday, July 1, 2023 - Join SMC's annual celebration of the Fourth of July! Fun, Food, Music, and Fireworks on Corsair Field.</description><pubDate>Tue, 27 Jun 2023 23:41:23 GMT</pubDate><guid>https://www.smc.edu/student-support/campus-life/celebrate-america.php</guid><dc:type>alert</dc:type><dc:identifier>934</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Sun, 02 Jul 2023 00:05:23 GMT</ou:archivedDate></item><item><title>93rd Commencement Festivities</title><description>Join us at 5 p.m. today to congratulate this year's SMC Graduates.</description><pubDate>Tue, 13 Jun 2023 15:54:20 GMT</pubDate><guid>https://www.smc.edu/admission-aid/graduation/</guid><dc:type>alert</dc:type><dc:identifier>855</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Wed, 14 Jun 2023 02:46:34 GMT</ou:archivedDate></item><item><title>Masks Optional</title><description>With a few exceptions, masking is no longer required indoors on the SMC Campus.</description><pubDate>Mon, 30 Jan 2023 14:55:38 GMT</pubDate><guid>https://www.smc.edu/news/coronavirus/resources/masking.php</guid><dc:type>alert</dc:type><dc:identifier>590</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Sat, 04 Feb 2023 00:01:58 GMT</ou:archivedDate></item><item><title>Test  Emergeny Annoucement</title><description>Test Emergeny Announcement description</description><pubDate>Fri, 14 Oct 2022 18:22:24 GMT</pubDate><guid>https://www.google.com/</guid><dc:type>alert</dc:type><dc:identifier>919</dc:identifier><ou:severity>Emergency</ou:severity><ou:subtitle>Emergeny Announcement</ou:subtitle><ou:archivedDate>Fri, 27 Jan 2023 23:51:41 GMT</ou:archivedDate></item><item><title>COVID-19 Announcement</title><description>SMC no longer requires a vaccine in order to enroll or attend classes.</description><pubDate>Wed, 17 Aug 2022 00:24:00 GMT</pubDate><guid>https://www.smc.edu/news/coronavirus/</guid><dc:type>alert</dc:type><dc:identifier>700</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Tue, 06 Sep 2022 16:01:11 GMT</ou:archivedDate></item><item><title>Masks Are Still Required Indoors.</title><description>Campus Open for On-Ground Classes. Students must be fully vaccinated and wear an approved mask indoors. Limited drop-in student services available.</description><pubDate>Mon, 01 Aug 2022 23:17:00 GMT</pubDate><guid>https://www.smc.edu/news/coronavirus/</guid><dc:type>alert</dc:type><dc:identifier>969</dc:identifier><ou:severity>Warning</ou:severity><ou:subtitle/><ou:archivedDate>Tue, 02 Aug 2022 20:36:12 GMT</ou:archivedDate></item><item><title>Problems with Single Sign-on</title><description>If you are having problems signing into the SMC Single Sign-on, please see the special instructions on the Information Technology website.</description><pubDate>Fri, 01 Apr 2022 15:36:01 GMT</pubDate><guid>https://www.smc.edu/administration/information-technology/</guid><dc:type>alert</dc:type><dc:identifier>624</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Fri, 01 Apr 2022 15:36:38 GMT</ou:archivedDate></item><item><title>Campus Open for On-Ground Classes</title><description>Must be fully vaccinated. Campus services are online.</description><pubDate>Thu, 30 Sep 2021 22:07:58 GMT</pubDate><guid>https://www.smc.edu/news/coronavirus/vaccines.php</guid><dc:type>alert</dc:type><dc:identifier>107</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Mon, 18 Oct 2021 19:16:41 GMT</ou:archivedDate></item><item><title>Spring Classes Online, Campus Closed</title><description>All classes and student services are online. Contact instructors and programs for more information.</description><pubDate>Wed, 06 May 2020 20:17:00 GMT</pubDate><guid>http://www.smc.edu/news/coronavirus/index.php</guid><dc:type>alert</dc:type><dc:identifier>201</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Mon, 03 May 2021 23:38:21 GMT</ou:archivedDate></item><item><title>Parking Lot C is Closed</title><description>Closed due to flooding</description><pubDate>Tue, 17 Dec 2019 14:00:00 GMT</pubDate><guid>https://omniupdate.com</guid><dc:type>alert</dc:type><dc:identifier>672</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle>Here is the subtitle</ou:subtitle><ou:archivedDate>Mon, 16 Dec 2019 21:42:25 GMT</ou:archivedDate></item><item><title>Parking Lot Closure</title><description>Brief Description</description><pubDate>Mon, 16 Dec 2019 16:24:15 GMT</pubDate><guid>https://www.smc.edu/ou-alerts/archived-alerts.xml</guid><dc:type>alert</dc:type><dc:identifier>254</dc:identifier><ou:severity>Announcement</ou:severity><ou:subtitle/><ou:archivedDate>Mon, 16 Dec 2019 16:24:39 GMT</ou:archivedDate></item></channel></rss>