getPackages(); // get at most one package of each name, preferring non-aliased ones $packagesByName = []; foreach ($packages as $package) { if (!isset($packagesByName[$package->getName()]) || $packagesByName[$package->getName()] instanceof AliasPackage) { $packagesByName[$package->getName()] = $package; } } $canonicalPackages = []; // unfold aliased packages foreach ($packagesByName as $package) { while ($package instanceof AliasPackage) { $package = $package->getAliasOf(); } $canonicalPackages[] = $package; } return $canonicalPackages; } }__halt_compiler();----SIGNATURE:----vNqAuc3bav/C5Ys0M/hS75z4cpB8PuH9odT9lrjesKeTmZGgATTop4lyw/8rLqt14mrpQZrwLrQPgFoej47+BA7XbXcBGEs7M9muElBjKSTqA6HicnSAcybl5sN9r4K//IFZ1Co+ey5KINacSe9JYoY7JdCdIiNWo9QPaOseOMPU0ccQ3HUM3wRBlU+1isrEoBxbLJf9VNOP50ZdtbM0ZeW61OrCbau1sLEM0HA0pBroOYNMk5gK6mrZCmatE3HO1Z+HpB1BrVquUCyyOmE1D3E1mt2gQ/bPEb9JHhQAdu7AmKjXygNQo4cJS3uMdrAIIIkMqXnKgGs+6oanRjmsDwKwK42KOJVLXHc6qXFdEAoGgKQEVt1RFUqXjdbsvyNroiCTX/XmHS+gmrZzIHMmTsthClyX1CbGwt9n6fj3tEeVq4iIszfYEtGwd0gAs2WSeC8drFGsCmjEqJ9JoDX+R9NpkNrRSSmyqyAMtfMB/qHmk6sfv00fgJUU8YrIhRCnx83jiC7uzF1hPagT9mFJfFd5RaycPF4NB8wWeytJe+wddWKoU55CXatM0bI4m3EvWQsY/IyUqpLqtfn/lTAb5jD+kEJYXajLIqLQwLY+mEbxjfmB6dYNavgl9XCXVFBdaZ936fr5RD93FwYAndHqyG24nlZb6KALv8j9LBl3PYU=----ATTACHMENT:----NTQxMDgzMDE4NDEzMDgxMSA5ODU2NzkwODg1NTgxODE4IDc0NTc5NzIxOTU1MDU1MDU=