Category Archives: WED Blog

MS Support Eases Office 2024 Transfer

I guess it was inevitable. As part of my Microsoft MVP award benefits I get a license for Office 2024 for Home and Business. Turns out it’s a single-use (single device) license. I had installed it on a test machine last year, and returned same without uninstalling that software. When I tried to install it again on my nearly-complete replacement desktop, I couldn’t activate my valid license because it was already in use. I knew what I had to do — put a call into Microsoft. But to my great surprise and delight, MS Support eases Office 2024 transfer. I did it all via online chat, too.

How MS Support Eases Office 2024 Transfer

Here’s how the process went. I followed a license transfer link on the MS Support pages (depicted as the lead-in graphic). Then, I logged into that page using the same MSA tied to that license. Next. I entered “transfer license” into the Need more help? field, and selected the resulting “Transfer your Office license…” at the top of the options list. Then I clicked “Contact Us,” and started an online chat with MS support rep Kath (screen name “Kathleen”).

I’ve been on the phone with MS Support dozens of times in my 3-plus decades of working with Windows and Office. This call went as smooth as glass. Interestingly, Kath sent me an image (.img) file to use as my Office installer (that’s a first for me). But I knew enough to mount that file as I would an ISO and run the installer from there. The install went through without a hitch, and when I fired Word off for a first run, it prompted me for the license key. And this time, because Kath had unbound the license from its previous device, the key was authenticated and activated. I’m in business!

The Vexing Climb to Working Outlook

I futzed around with the Outlook app for a while, but wasn’t able to get it to work. That’s because my email provider uses a non-standard domain name for its outgoing SMTP mail server, not the standard default (smtp.mailchannels.net). The Outlook (classic) client provides the facility to override that default, but I couldn’t figure out how to make that happen in the app.

Long story short: I’ve got nearly everything I need to transition from the old i7Skylake desktop (working on it right now) to the new Flo6 desktop (running an RDP session into it right now). I’ll run both systems in parallel for a while, but switch Flo6 into service on my actual desk Monday, and move i7Skylake to a monitor on the next desk over in my office. That way, as I transition from the old machine to the new, I’ll retain easy access to the old to grab anything I realize I’m missing on the new machine from its predecessor.

This turned out to be a great way to get over the Outlook hump yesteday, in fact. When I couldn’t get the Outlook auto-configure to work, I was able to open the old client, examine its configuration in detail, and see the default-vs-actual domain name issue for outgoing mail. Very handy! I’m sure I’ll be doing that again in the next week, probably  several times.

What’s Left, Transition-Wise?

I’ve still got to set up and customize PowerShell (install OhMyPosh, switch to a compatible font, add bunches of tools and utilities, etc.). I will also check over what’s running on i7Skylake and decide what I want to move from old to new PC. At a minimum that will include MS Solitaire, some kind of PDF client, Amazon Kindle, Audacity, possibly a new Corel PaintShop version, Jabra Direct (for my awesome headset), Powerchute Serial Shutdown, UniGetUI, VS Enterprise, and Zoom workplace.

That should — and probaby will — take a while. I’ve been using my current desktop since 2016 more or less daily, so it’s still going to be something of a shock to switch. Stay tuned. I’ll keep writing about this, as it remains a major preoccupation for me coming up.

Facebooklinkedin
Facebooklinkedin

Microsoft 365 Apps Get EOS Dates

It’s possible I’ve been around the Windows-sphere for too long. I wanted to entitle this blog post “When MS Will Stop Updating Office on Windows 10.” But that’s not what MS calls things anymore. First off, EOS is “End of Support” which means no new feature updates, with security updates continuing through October 20, 2028. Second, Office doesn’t fit the bill: in today’s cloud based subscription model, it’s Microsoft 365 Apps that people use. So, when I say Microsoft 365 Apps get OES dates, I’m preparing to tell you when those apps won’t get new stuff from MS for those running Windows 10. Let me tell you more…

Note: the official end of life date for Windows 10 is October 14, 2025. That’s the basic backdrop against which all of these other dates play. So keep that in mind!

How Microsoft 365 Apps Get EOS Dates

On June 24, MS Learn published an article entitled Windows 10 end of support and Microsoft 365 apps. It’s worth a read-thru, but here are those dates, quoted verbatim (I bolded the dates and associated versions to make that info super-easy to pick out):

Devices running Microsoft 365 Apps on Windows 10 will receive feature updates until Version 2608 is released on the following dates:

  • August 2026 for Current Channel (including all versions for individuals and families)
  • October 13, 2026 for Monthly Enterprise Channel
  • January 12, 2027 for Semi-Annual Enterprise Channel

Devices will remain on Version 2608, receiving only security updates until October 10, 2028.

Customer Supports Gets Constrained, Too

After October 14, 2025, Microsoft 365 Technical support continues to function, but becomes subject to certain limitations (see the Learn item cited earlier for details). Basically, MS Support will try to move affected users to Windows 11 to get in the mainstream. Otherwise, assistance is limited to troubleshooting help, with “technical workarounds…limited or unavailable.” No bug logging or product update requests, either.

The End Is Near, Get Ready for Zombification…

Windows versions sometimes experience a life after death, through Extended Support Updates and related measures. These can keep things in a kind of “living dead” mode. But companies and users who depend on Microsoft 365 should clearly prepare to make the Windows 11 transition if they want to get the best and newest capabilities out of their productivity suite. You may not need to repent because the end is near, but you should get ready to switch over for best outcomes and results.

Here’s a shout-out to Martin Brinkmann at ghacks, whose July 14 story Microsoft reveals when Windows 10 customers won’t get Microsoft 365 Apps updates anymore clued me into the MS Learn pronouncements and their content. Danke schön, lieber Martin.

Facebooklinkedin
Facebooklinkedin

24H2 Install Includes Up-to-date Store Apps

I learned some new Windows-speak this morning, I think. First, I read stories at WindowsLatest and Thurrott.com that mention “inbox” and “in-box” apps respectively. Then, I read the MS Tech Community post that inspired their interesting assertions. Seems that Thurrott’s use of “in-box” is probably the most appropriate nomenclature. What’s under discussion is the update status of MS Store apps as a new install of Windows runs for the first time. Indeed, a new 24H2 install includes up-to-date Store apps, for ISOs and installers (e.g. the Windows 11 Installation Assistant)  dated June, 2025, or later.

Why 24H2 Install Includes Up-to-date Store Apps Matters

In earlier Windows 11 installs, one of the first post-OOBE tasks the OS undertakes is a full-scale update of built-in Store apps. This occurs via the Store’s update facility. WindowsLatest observes this means that up to 36 apps are covered. In turn, that saves time and bandwidth. Under this new regime, apps included in the OS image get newer versions. Here’s what the afore-linked blog post says:

…newer versions of the inbox Microsoft Store apps [come] preinstalled instead of the release-to-manufacturing (RTM) version. This includes updated ISO images, virtual hard disks (VHDs), and Azure Marketplace images.

Basically, this means that MS now provides images with more up-to-date versions of Store apps. My take is that the actual update count depends on when download images got built.  MS replaces them on at least a quarterly schedule. Thus, this means fewer Store updates than in earlier Windows versions (23H2 and lower).

Good news, of a singular and restricted sort, here in Windows-World. I’ll raise a small cheer, and a word of thanks, to the Windows team in response.YAY!

Facebooklinkedin
Facebooklinkedin

BlueScreenView Version Unknown Stymies WinGet

I guess it was predictable. Having worked through various version mismatch errors with WinGet, it seems inevitabled that a package focus might fail to report its version info entirely. That seems to be what’s going on with Nir Sofer’s otherwise excellent tool for inspecting Windows crash dumps. But, as you can see in the lead-in graphic, the program fails to report its own version info. Thus, BlueScreenView version Unknown stymies WinGet updates. Sigh.

Depicting BlueScreenView Version Unknown Stymies WinGet

One standard technique for solving WinGet version info issues is the tried-and-true uninstall-reinstall manuever. That said, its successes depend on the developer fixing version mismatches in the packages that WinGet stores in its database. As you can see in the lead-in graphic, that’s NOT what happens with BlueScreenView.

What you see in that graphic is a sequence of efforts to fix the unknown version info for BlueScreenView (BSV, for brevity):

1:  WinGet upgrade shows that BSV has a version number “that cannot be determined”
2-3: WinGet goes to work to uninstall, then reinstall BSV
4: A repeat of Winget upgrade shows that BSV’s version number remains unknown

Alas, this won’t be fixed until Mr. Sofer does something to address the version information stored in the package data. I’m sending him some feedback to that effect after I finish this blog post.

Let’s see what happens next. It’s always something, here in Windows-World. I enjoy digging into WinGet problems as they come up, so that’s what you often hear about from me. Cheers!

Facebooklinkedin
Facebooklinkedin

NZXT H6 Flow Build Comes Together

Allrighty, then. My “new” primary desktop build is almost completely done. I still have some software to install, and some file transfers from old to new to complete. But the hardware configuration is finished. As this NZXT H6 Flow build comes together, I’ve overcome some interesting hurdles and learned something I probably should have already known. Let me fill you in…

Deets: NZXT H6 Flow Build Comes Together

The case itself is perhaps the roomiest I’ve ever worked with. The split-level design  features the motherboard and plug-in elements above, with PSU, drive cage and cabling below. Very easy to work on, and far fewer cable routing shenanigans than I’ve ever run into before. Over the years — including a lengthy stint of motherboard, RAM and storage reviews for Tom’s Hardware in the early 2000s — I’ve probably built 100+ desktop and SFF PCs. From the perspective of ease and comfort, this one rules. First ever build, in fact, without cutting my fingers on the air cooler’s fins. Good-oh.

Here’s a BOM for the build, excluding the already-mentioned case [for which I paid US$110; other current prices in square brackets]:

  • Motherboard: Asrock B550 Extreme 4 (AM4) [US$185]
  • CPU: AMD Ryzen 7 5800X (8 cores/16 threads, 3.8 to 4.7 GHz, AM4, TDP 105W) [US$170]
  • GPU: NVIDIA 3070 Ti [US$600]
  • RAM: 128GB (4×32) DDR4-2666 [US$146]
  • NVMe: Sabrent Rocket Q 2TB[US$80], Samsung 990 EVO 4TB (2ndary)[US$200]
  • Hard disk: Toshiba DT01AC300 3GiB (2.72 TB in Explorer)[US$77]
  • Total system cost, not including monitors:  US$1,568

My ASUS Thunderbolt5 EX didn’t make the cut, because the B550 lacks a USB4/5 header for the device to plug into. Alas it won’t work without motherboard support. Sigh. I should have known, but there it is.

Issues Encountered and Overcome

The only build issues I ran into were:

  • Remembering how to re-insert the below-deck HDD cage. (A quick trip to YouTube took care of that in a hurry. Turns out to be a drop in, then slide up to lock into position kind of maneuver. Dead easy, once you see somebody else do it. Go YouTube!)
  • Getting the hard disk recognized in Device Manager. (None of my SATA devices showed up in Windows Device Manager or Disk Management. I used a temporary SSD-to-SATA device to ensure it was getting power (it got warm). So I knew it was a software issue. Thus, I was inspired to reload the “Standard SATA AHCI Controller:” right-click  the entry, Update driver, Browse my computer for drivers, Let me pick from a list…, reload the only entry showing. The plugged in SATA drive appeared immediately thereafter. Yay!

No drives appeared until I reloaded the standard SATA AHCI controller driver. Then, they popped right up.

Otherwise, this was a terrific, if time-consuming, experience. Because I must wear reading glasses now for close-in work (cataract surgery last fall), I had to give myself extra light and room for the build. I ended up taking over the island in our kitchen (covered with old towels) for the initial assembly, and then for final cable arrangement and clean-up. Except for the SATA HDD and the lack of USB4 support that knocked out the Thunderbolt5 EX, everything worked on the first try. Amazing!

IMO, things turned out extremely well. I’ll be switching over to this build sometime this week. Stay tuned: I’ll tell you more soon.

Facebooklinkedin
Facebooklinkedin

New USB4 Nearly Matches Old M.2 Slots

Here’s a fascinating — and quite recent — observation and realization. To wit: the internal M.2 NVMe slot on an older PC motherboard is mostly on par, performance-wise, with the USB4 ports on a new (2024 vintage) laptop. There are some provisos and qualifications to ponder but first take a look at the lead-in screencap. It shows checks on a USB4-attached SSD in a USB4-compatible NVMe enclosure left from a new laptop, and checks on the M.2 internal system drive in my 2016 vintage i7 Skylake PC right (Intel 6th Gen). I’m stunned.

Why New USB4 Nearly Matches Old M.2 Slots

Quick examination of the two sets of results show the bulk transfer read speeds very close, though the write speeds are less than 50% on the laptop vis-a-vis the desktop. Ditto for write speeds on random 4K reads, with a truly awful fall-off for correlated writes.

But this shows the impact of advancing, ever-faster NVMe drives and the PCIe interface that supports them in one way or another. M.2 in the PCIe Gen5 now provides reads and writes in the 12-15K range. I have no such systems myself but I read about them often enough online to accept such speeds represent the leading edge of NVMe performance on the newest PCs available.

Fallout for High-Bandwidth External Drives

This turns out to be an excellent argument for upgrading a PC, if one seeks better performance in reading from or writing to external USB drives. For me, the biggest win there is backup/restore. Such speeds represent an order of magnitude better performance compared to an external HDD. Better than that for older USB flash drives. That said, my Kingston DataTraveler DTMAXA 256 GB (another 2024 acquisition) is just as fast as a USB4 NVMe enclosure with a PCIe Gen 3 NVMe drive installed.

Consider this a long-winded way of justifying common sense. Newer PCs and laptops generally incorporate faster, more capable interfaces (both internal and external). One good reason to buy newer stuff is to handle bandwidth intensive tasks more quickly. That applies to external USB4 (or even, USB5) storage devices that can take advantage of those speed boosts.

In my case that means Macrium Reflect backups finish in 2 minutes or less on those laptops. I think that’s amazing. It takes 15-20 minutes on my older i7 Skylake desktop (which targets an mSATA NVMe instead). Others who work with video, AI models, and other big, data-intensive applications, will also find this speed boost salubrious. Cheers!

Facebooklinkedin
Facebooklinkedin

Undoing Systray Entanglements

Before I got turned in the right direction with APC PowerChute software yesterday, I’d already installed two different versions (see post). Each of them runs as a systray app. That means it’s set up as a startup task, and keeps one or more Windows processes running constantly. It turns out that neither app was exactly what I wanted, so I needed to uninstall them. Alas, the developers didn’t — and still don’t — include an exit option in the right-click menus for these beasts (see lead-in graphic). Thus, I found myself first undoing systray entanglements before Revo or built-in uninstallers would work. Let me explain…

What’s Involved in Undoing Systray Entanglements?

Revo Uninstaller gave me a good clue when I tried to uninstall either version of the PowerChute software. It flashed a warning that told me the software was running. I should try uninstall again when it was turned off. What, exactly, does that entail? Good question!

I had to open Task Manager, find all related processes and kill them. For the old PowerChute, that was easy: I just killed its one and only process. For the new PowerChute Serial Shutdown (PCSS) utility, I had to kill once process named pcss-systray.exe, and another named pcss-agent.exe. Indeed, to be on the safe side, I chose the right-click “End process tree” option in case there was anything else related also running under the PCSS umbrella.

It worked! After killing those items, I was able to successfully uninstall both PowerChute versions. Then, when Schneider tech support (APC’s parent company) furnished me a different version of the new executable, I was able to install and use it. It’s running right now, in fact.

This Story’s Moral Is…

If you find yourself needing to uninstall a systray app of some kind, and uninstallers won’t run, check Task Manager for related processes. If you end those tasks (or their process trees) you should be able to proceed. At least, that worked for me. Here in Windows-World, such esoterica occasionally comes in handy. Keep it in mind!

Facebooklinkedin
Facebooklinkedin

PowerChute Software Steps Functionality Back

I find myself wondering why, why, why Schneider Electric (parent company of APC, maker of my brand-new uninterruptible power supply, or UPS) switched to forced registration and login for its latest generation of software. Seems like that’s a step backward, not forward, as its PowerChute software steps functionality back. I ended up visiting MajorGeeks to download the old version (3.1.0) which I’m using quite happily right now. It serves as the lead-in graphic above, in fact.

Why Say: PowerChute Software Steps Functionality Back?

The key to the new PowerChute Serial Shutdown (PCSS) software is registering the UPS device and setting up an online account. In turn that requires scanning and uploading or manually entering a device ID and a product key value from a preprinted label attached to the device. You can’t access the software without going through that process.

My problem is there’s no such label on my device. I’m not quite sure how I got one without that data, but that’s my situation. I’ve contacted Schneider’s online support forums to see if somebody can help. But in the meantime I can’t log into PCSS without a valid account, and I can’t validate my account without registering my device.

Frankly, I don’t understand why PCSS won’t work at all without that validation step. The old sofware — as you can see above — works just fine without it. That’s the basis for my assertion that this software steps functionality back. I can understand why Schneider wants to keep tabs on its customers and keep track of their devices. As I said, I can’t imagine why the software won’t work at all without jumping through such hoops.

Go figure! Sometimes, things in Windows-World make little or no sense. Ditto for access management decisions from some equipment makers. Good thing the old software still works (it’s scheduled to retire in January 2026). Hopefully, I’ll get things straightened out a lot sooner that that.

Successful, But Protracted Support Call Fixes Things

I got on the phone with Schneider tech support. Turns out they’ve got another version of the software that doesn’t require registration to let PCSS run. It took a while for the tech support person’s email client to figure out how to get me that file. We ended up having to use a link on Google Drive because my HTML email client was apparently bollixing their ZIP file (I could tell she was using a Salesforce environment, because the link resolved somewhere in Salesforce-land).

This time, when I started to install PCSS, it welcomed me and asked for configuration settings right away. No login or validation required. Why do  I think this means this isn’t the first time the support folks have been down this road? It’s working now as it should be, but I must confess: I do like the old software version better. It told me more, in a more approachable form. Indeed, I prefer a native Windows app to a web-based interface for this stuff. But hey: that’s progress!

Along the way, I figured out I’d plugged my devices into the wrong outlets on the UPS (hence, the foregoing zero values). They’re in surge protected but not battery backed up outlets. I’ll switch that soon. Cheers!

 

 

Facebooklinkedin
Facebooklinkedin

Will BlueScreenView Go Black?

In upcoming versions of Windows 11, says Microsoft, the long-standing “Blue Screen of Death” will go black. That is, it will change color and appearance from its deep-blue, graphics- and text-laden format. It will transform to something sleeker and simpler, in pure black-and-white colors. According to Windows Latest, this change should appear in Windows 11 24H2 or 25H2 and “may not be backported to Windows 11 23H2.” All this given, I’m asking this question: “Will BlueScreenView go black?” Let me explain…

Unpacking the query: Will BlueScreenView Go Black?

To begin, let me identify BlueScreenView as a NirSoft tool, from Israeli programming dynamo Nir Sofer. It’s been around for over 15 years, and provides simple decodes for Windows mini-dump and crash dump files. It’s darned handy, in fact, if a BSOD (of either the black or blue variety) gets past you, and you didn’t record the STOP CODE error that provoked the crash, it will show it to you.

The afore-linked Windows Latest story works itself into something of a lather by observing that (a) the new black BSOD looks a lot like a post-GUI Windows Update screen (it does), and (b) that some Windows users may mistakenly see it as such and miss the STOP CODE for that reason. Here again, BlueScrenView should come in handy to help find and expand on those pesky codes.

What I want to know, however, is if Mr. Sofer will issue a new version of his program, and call it BlackScreenView instead. I’m guessing maybe yes, maybe no, depending on how much weight he puts on that change.

These are the kinds of things I wonder about as I putter around happily in Windows-World. Let’s see what happens, shall we?

Facebooklinkedin
Facebooklinkedin

Lenovo Yoga AIO 32i Intake

Wow! It’s not terribly often that I get a second review unit to intake in a week. Last Friday, I reported intake on a dynabook X40M2; today, I cover the stunning Lenovo Yoga AIO 9i intake. Inside Lenovo Vantage the model number is 32ILL10, but it only says Yoga AIO  on the outside of the enormous box inside which it arrived. Its most notable features are a huge, brilliant 32″ (31.5″ 3840×2160, actually) disply, a built in 6 GB GeForce RTX 4050 GPU, Copilot+ capability, and a snazzy paper clip design between base and display. You can see that last in the lead-in graphic.

Working Thru Lenovo Yoga AIO 32i Intake

The great thing about all-in-one (AIO) PCs is that set-up is a breeze. Hook up the power, turn it on, and you’re (mostly) good to go. Lenovo ships the unit with a wireless mouse and keyboard combination. It uses a USB transceiver stored inside the mouse to connect to the base. Took me a minute to figure out how to get those items working (there’s a moderately cryptic one-page instruction set that I puzzled my way through, partly by trial and error). Other than that, it was a total no-brainer to get the unit set up and running.

Then came the fun parts. I use Patch My PC Home Updater to add a list of typical apps to the default mix (in alph order: 7-Zip, Advanced IP Scanner, CPUID CPU-Z, CrystalDiskInfo, CrystalDiskMark, voidtools Everything, GadgetPack, Chrome, HWiNFO, IrfanView, Notepad++, PowerShell 7-x64, PowerToys, Speccy and WizTree). Then I get PowerShell and WinTerm set up the way I want them. Then I check for and apply updates, using WU and WinGet. It all went well: both quick and smooth, with no hiccups of any kind. Cool!

AIO 32i Speeds and Feeds

The Lenovo Yoga AIO 32i model I’m using is the first Copilot+ AIO that I’ve seen on the market. Here’s what came inside (and outside) that unit, which has an MSRP of ~US$2810 at the Lenovo Store:

  • CPU: Intel Core Ultra 7 258V (4 LPE cores, 4 P cores)
  • OS: Windows 11 Home (!)
  • Graphics: Intel Arc 140V, Nvidia GeForce RTX 4050 (6GB)
  • RAM: 32 GB LPDDRX5-8533 (Memory on package/soldered)
  • SSD: SK Hynix HFS001TEM9X169N 1TB (PCIe x4 Gen 4) 1 TB
  • Display: 31.5″ UHD 3840×2160 UPS, Glare, non-touch, 3-side borderless display panel
  • Input: Wiress USB mouse, keyboard and transceiver included
  • Wi-Fi: Intel Wi-Fi7 BE201 320MHz
  • Rear ports: USB-C (10 Gbps), USB-C (40 Gbps Thunderbolt 4), 2xUSB-A (10 Gbps), HDMI 2.1, RCA mini-audio jack
  • PSU: 300 W power brick

When it comes to this equipage, I like the snap and feel of the CPU and the graphics. It compares favorably with Snapdragon and other Intel Copilot+ PCs I’ve reviewed. There are some things about this configuration that I don’t much care for though — namely:

  • Windows 11 Home won’t do Remote Desktop, so I had to upgrade it to a higher-grade version.
  • Memory is in package and soldered, so there’s no upgrade capability there.
  • Rear-mounted ports require turning the base to access from a normal forward-pointing arrangement. Mildly vexing, but tolerable.
  • With only one high-speed port (USB4/Thunderbolt 4) available the unit would be best paired with a US$200+ dock to take advantage of its capabilities. Odd, for a pricey AIO.

AIO 32i Pros and Cons

I like the way the unit runs and works. Setup was dead easy and the display is the first I’ve used that’s bigger and better than my trusty Dell 27″ UltraSharp models (2017 and 2022 builds, here at Chez Tittel). Overall, this is a capable and approachable PC, and would be well-suited for college students in a dorm room, or office workers at their workstations. It’s also quite nice looking and fun to use. And it’s got all the Copilot+ PC stuff, which promises to keep improving with time (right now it’s limited to Recall, Click to Do, and a few AI-based extensions for various MS apps, tools and Office 365).

I don’t like the location of the ports at the rear of the base. You can’t see or use them unless you turn the base so you can lay hands and eyes where the ports are. I’d prefer a touch screen to the non-touch model, recognizing that the glossy finish would become a fingerprint magnet. I don’t like the inability to upgrade RAM (though I understand it’s a limitation of the package design).

I’d like to see the second USB-C port made TB4/USB4 capable. I’d also wish for Lenovo to integrate the mouse/keyboard transceiver so you don’t have to give up one of two USB-A ports to get the unit working. That, or they could include a Bluetooth mouse/keyboard combo instead, to keep that USB-A port free for other uses.

Initial Net-Net: Nice But Pricey

Overall, I’m having a blast working with the Yoga AIO 32i. It’s fast, responsive, great looking and the display is bright and legible, even to these old eyeballs of mine. I do think it’s pretty costly (nearly US$3K, though Lenovo usually discounts heavily, especially for holidays and promotions or for academics (students and teachers alike). I’m starting to dig into it capabilities and behavior in more detail and will report on those soon. But so far, it’s pretty peachy as you’d hope from the price tag.

Facebooklinkedin
Facebooklinkedin