Faits:
Faits:
A. Le 28 octobre 2002, le Ministère public de la Confédération a ouvert une enquête préliminaire contre le ressortissant kosovar A._ pour infraction grave à la loi fédérale sur les stupéfiants et participation à une organisation criminelle. Le 10 décembre 2002, la prévention a été étendue au blanchiment d'argent. A._ est soupçonné d'avoir mis sur pied, avec des membres de sa famille et des tiers, un trafic international estimé à plusieurs centaines de kilos d'héroïne et de cocaïne, avec des ramifications en Suisse. Il a été arrêté en Macédoine le 2 août 2003 et extradé à la Suisse le 29 octobre 2003. Il se trouve depuis lors en détention préventive. Le 26 mars 2004, le Ministère public de la Confédération a rejeté une première demande de libération provisoire formée par A._. La Cour des plaintes du Tribunal pénal fédéral (ci-après: la Cour des plaintes) a confirmé cette décision au terme d'un arrêt rendu le 17 mai 2004. Le 9 juillet 2004, le Tribunal fédéral a rejeté, dans la mesure où il était recevable, le recours interjeté contre cet arrêt par A._ (cause 1S.1/2004).
Le 15 septembre 2005, le Juge d'instruction fédéral a ordonné l'ouverture d'une instruction préparatoire à l'encontre de A._, de deux de ses frères et de leur père pour présomption de participation à une organisation criminelle, de blanchiment d'argent et d'infraction grave à la loi fédérale sur les stupéfiants. Par décision du 6 octobre 2005, il a rejeté la requête de mise en liberté de A._ et maintenu la détention en raison des risques de fuite et de collusion. La Cour des plaintes a confirmé cette décision sur plainte du prévenu au terme d'un arrêt rendu le 10 novembre 2005. Le 24 janvier 2006, le Tribunal fédéral a rejeté le recours formé par A._ contre cet arrêt (cause 1S.51/2005).
Le 8 août 2006, A._ a requis sa mise en liberté provisoire en invoquant une violation des principes de la célérité et de la proportionnalité. Le Juge d'instruction fédéral a refusé de faire droit à cette requête au terme d'une décision prise le 15 août 2006 que la Cour des plaintes a confirmée sur plainte du prévenu par arrêt du 7 septembre 2006. Le Tribunal fédéral a rejeté le recours interjeté contre cet arrêt le 6 novembre 2006 (cause 1S.25/2006).
Le 16 mai 2007, A._ a sollicité à nouveau sa mise en liberté en faisant valoir une nouvelle fois une violation des principes de la célérité et de la proportionnalité. Le Juge d'instruction fédéral a refusé de faire droit à cette requête au terme d'une décision prise le 30 mai 2007 que la Cour des plaintes a confirmée sur plainte du prévenu par arrêt du 26 juin 2007. Elle a estimé que la procédure n'avait pas connu de retards inadmissibles depuis le dernier arrêt rendu par le Tribunal fédéral, qui imposeraient la libération immédiate de A._; elle a cependant imparti un délai au 15 août 2007 au Juge d'instruction fédéral pour mettre un terme à l'instruction préparatoire et déposer son rapport de clôture de manière à ce que le prévenu puisse être jugé cette année encore.
Le 16 mai 2007, A._ a sollicité à nouveau sa mise en liberté en faisant valoir une nouvelle fois une violation des principes de la célérité et de la proportionnalité. Le Juge d'instruction fédéral a refusé de faire droit à cette requête au terme d'une décision prise le 30 mai 2007 que la Cour des plaintes a confirmée sur plainte du prévenu par arrêt du 26 juin 2007. Elle a estimé que la procédure n'avait pas connu de retards inadmissibles depuis le dernier arrêt rendu par le Tribunal fédéral, qui imposeraient la libération immédiate de A._; elle a cependant imparti un délai au 15 août 2007 au Juge d'instruction fédéral pour mettre un terme à l'instruction préparatoire et déposer son rapport de clôture de manière à ce que le prévenu puisse être jugé cette année encore.
B. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral de réformer cet arrêt en ce sens que sa mise en liberté immédiate est ordonnée. Il conclut subsidiairement à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité inférieure pour nouvelle décision dans le sens des considérants. Il requiert l'assistance judiciaire.
La Cour des plaintes se réfère à son arrêt. Le Juge d'instruction fédéral et le Ministère public de la Confédération concluent au rejet du recours.
A._ a répliqué.
Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. L'arrêt relatif au maintien du détenu en détention est une décision en matière pénale au sens de l'art. 78 al. 1 LTF. Emanant du Tribunal pénal fédéral (art. 80 al. 1 LTF), il peut faire l'objet d'un recours en matière pénale. Le recourant a qualité pour agir au sens de l'art. 81 al. 1 let. a LTF. Les autres conditions de recevabilité du recours sont au surplus réunies.
1. L'arrêt relatif au maintien du détenu en détention est une décision en matière pénale au sens de l'art. 78 al. 1 LTF. Emanant du Tribunal pénal fédéral (art. 80 al. 1 LTF), il peut faire l'objet d'un recours en matière pénale. Le recourant a qualité pour agir au sens de l'art. 81 al. 1 let. a LTF. Les autres conditions de recevabilité du recours sont au surplus réunies.
2. Le recourant ne conteste pas l'existence de charges suffisantes et d'un risque de fuite propre à justifier son incarcération. Il s'en prend à la durée de la détention préventive subie qu'il tient pour excessive et contraire au principe de la proportionnalité.
2.1 En vertu des art. 31 al. 3 Cst. et 5 § 3 CEDH, le prévenu doit être libéré lorsque la durée de son incarcération se rapproche de la peine privative de liberté qui sera éventuellement prononcée. Une durée excessive de la détention constitue une limitation disproportionnée de ce droit fondamental, qui est notamment violé lorsque la durée de la détention préventive dépasse la durée probable de la peine privative de liberté à laquelle il faut s'attendre. Dans l'examen de la proportionnalité de la durée de détention, il y a lieu de prendre en compte la gravité des infractions faisant l'objet de l'instruction. Le juge peut maintenir la détention préventive aussi longtemps qu'elle n'est pas très proche de la durée de la peine privative de liberté à laquelle il faut s'attendre concrètement en cas de condamnation. Il convient d'accorder une attention particulière à cette limite, car le juge de l'action pénale pourrait être enclin à prendre en considération dans la fixation de la peine la durée de la détention préventive à imputer selon l'art. 51 CP. Selon la jurisprudence concordante du Tribunal fédéral et de la Cour européenne des droits de l'homme, la proportionnalité de la durée de la détention doit être examinée au regard de l'ensemble des circonstances concrètes du cas d'espèce (ATF 133 I 168 consid. 4.1 p. 170 et les arrêts cités).
2.2 La cour de céans s'est déjà penchée sur cette question dans l'arrêt rendu le 6 novembre 2006. Elle a alors jugé que compte tenu de la gravité des infractions reprochées au recourant, celui-ci s'exposait à une peine largement supérieure à la durée de la détention préventive subie. Ces considérations sont toujours valables nonobstant le temps écoulé depuis lors, dans la mesure où les mesures d'instruction entreprises dans l'intervalle n'ont pas permis d'infirmer ou d'atténuer les charges existantes à l'encontre du recourant. Ce dernier se réfère en vain à un arrêt rendu le 11 octobre 2004 dans la cause 1P.535/ 2004 dans lequel le Tribunal fédéral a estimé qu'une procédure d'instruction de près de trois ans était assurément longue et que la limite de ce qui était compatible avec l'art. 31 al. 1 Cst. se rapprochait. Le prévenu était certes également impliqué dans un trafic de stupéfiants aux ramifications internationales au sein duquel il occupait une position dominante. Le trafic portait cependant sur une quantité de drogue sans commune mesure avec celle en cause dans la présente procédure, de sorte que la comparaison faite avec cet arrêt n'est pas pertinente. Sur ce point, le recours est manifestement mal fondé.
2.2 La cour de céans s'est déjà penchée sur cette question dans l'arrêt rendu le 6 novembre 2006. Elle a alors jugé que compte tenu de la gravité des infractions reprochées au recourant, celui-ci s'exposait à une peine largement supérieure à la durée de la détention préventive subie. Ces considérations sont toujours valables nonobstant le temps écoulé depuis lors, dans la mesure où les mesures d'instruction entreprises dans l'intervalle n'ont pas permis d'infirmer ou d'atténuer les charges existantes à l'encontre du recourant. Ce dernier se réfère en vain à un arrêt rendu le 11 octobre 2004 dans la cause 1P.535/ 2004 dans lequel le Tribunal fédéral a estimé qu'une procédure d'instruction de près de trois ans était assurément longue et que la limite de ce qui était compatible avec l'art. 31 al. 1 Cst. se rapprochait. Le prévenu était certes également impliqué dans un trafic de stupéfiants aux ramifications internationales au sein duquel il occupait une position dominante. Le trafic portait cependant sur une quantité de drogue sans commune mesure avec celle en cause dans la présente procédure, de sorte que la comparaison faite avec cet arrêt n'est pas pertinente. Sur ce point, le recours est manifestement mal fondé.
3. Le recourant prétend également que le principe de célérité n'aurait pas été respecté dans la conduite de l'instruction, ce qui justifierait sa mise en liberté immédiate.
3.1 L'incarcération peut aussi être disproportionnée en cas de retard injustifié dans le cours de la procédure pénale (ATF 128 I 149 consid. 2.2 p. 151; 125 I 60 consid. 3d p. 64; 124 I 208 consid. 6 p. 215 et les arrêts cités). Le caractère raisonnable de la durée d'une procédure pénale s'apprécie selon les circonstances particulières de la cause, eu égard à la complexité de l'affaire, au comportement du requérant et à celui des autorités compétentes, ainsi qu'à l'enjeu du litige pour le prévenu (ATF 124 I 139 consid. 2c p. 142; 119 Ib 311 consid. 5b p. 325; 117 Ib 193 consid. 1c p. 197). N'importe quel retard n'est pas suffisant pour justifier l'élargissement du prévenu. Il doit s'agir d'un manquement particulièrement grave, faisant au surplus apparaître que l'autorité de poursuite n'est plus en mesure de conduire la procédure à chef dans un délai raisonnable. En cas de retard de moindre gravité, des injonctions particulières peuvent être données, comme par exemple la fixation d'un délai de détention maximum; c'est au surplus au juge du fond qu'il appartient, le cas échéant par une réduction de peine, de tenir compte d'une violation de l'obligation de célérité (ATF 128 I 149 consid. 2.2 p. 151/152).
3.2 Le Tribunal fédéral a été amené à se prononcer sur cette question dans l'arrêt rendu le 6 novembre 2006. Il a alors constaté que même si l'instruction n'avait peut-être pas suivi un rythme particulièrement soutenu, elle n'avait pas non plus connu de période d'inactivité susceptible de tomber sous le coup de l'art. 5 § 3 CEDH. Il a pris acte des déclarations du Juge d'instruction fédéral suivant lesquelles une fois le rapport de synthèse déposé, il procéderait à l'exécution des dernières commissions rogatoires encore en suspens et à une série d'auditions du recourant avant de prononcer la clôture de l'instruction préparatoire. Il l'a invité à prendre un soin tout particulier au bon déroulement de cette procédure et à clore l'instruction dans les plus brefs délais, de manière à ce que l'audience de jugement puisse intervenir au plus vite dans le courant de l'année 2007. La Cour des plaintes a écarté les reproches faits au Juge d'instruction fédéral de ne pas avoir obtempéré aux injonctions du Tribunal fédéral. Elle a estimé que même si l'instruction n'était pas terminée, la procédure n'avait pas connu de retards inadmissibles imposant la libération immédiate du recourant, en prenant soin d'énumérer les actes accomplis. Toutefois, pour assurer le prochain achèvement de l'enquête, elle a imparti au Juge d'instruction fédéral un délai au 15 août 2007 pour mettre un terme à l'instruction préparatoire et déposer son rapport de clôture de manière à ce que le recourant puisse effectivement être jugé cette année encore. Cette appréciation échappe à toute critique.
La procédure n'a pas connu de temps mort depuis le dernier arrêt rendu par le Tribunal fédéral. Le Juge d'instruction fédéral a procédé à l'exécution des commissions rogatoires encore en suspens à réception du rapport de synthèse de la police judiciaire fédérale, comme il l'avait annoncé. Il a certes ordonné d'autres mesures d'instruction, mais le recourant ne prétend d'ailleurs pas que ces mesures étaient inutiles et auraient prolongé indûment la procédure. Par ailleurs, il convenait de respecter les droits des parties en leur donnant la possibilité de requérir un complément d'enquête (art. 119 al. 1 PPF). En tout état de cause, la Cour des plaintes a pris les mesures qui s'imposaient pour respecter l'arrêt du Tribunal fédéral en fixant au Juge d'instruction fédéral un délai péremptoire au 15 août 2007 pour mettre fin à la procédure d'instruction préparatoire et déposer son rapport de clôture de manière à ce que le recourant puisse être jugé encore cette année. A._ estime certes qu'une audience de jugement devant la Cour des affaires pénales ne pourra selon toute vraisemblance pas être fixée avant 2008 compte tenu des opérations qui restent à effectuer et de la nécessité de trouver une longue période de disponibilité de la part des avocats des parties à la procédure. Ces considérations ne suffisent cependant pas pour exclure avec toute la certitude voulue que le recourant ne puisse encore être jugé avant la fin de cette année. En l'état, il suffit de constater que les injonctions posées par le Tribunal fédéral dans son arrêt du 6 novembre 2006 peuvent a priori encore être respectées, ce qui suffit pour écarter le grief tiré d'une violation du principe de la célérité.
La procédure n'a pas connu de temps mort depuis le dernier arrêt rendu par le Tribunal fédéral. Le Juge d'instruction fédéral a procédé à l'exécution des commissions rogatoires encore en suspens à réception du rapport de synthèse de la police judiciaire fédérale, comme il l'avait annoncé. Il a certes ordonné d'autres mesures d'instruction, mais le recourant ne prétend d'ailleurs pas que ces mesures étaient inutiles et auraient prolongé indûment la procédure. Par ailleurs, il convenait de respecter les droits des parties en leur donnant la possibilité de requérir un complément d'enquête (art. 119 al. 1 PPF). En tout état de cause, la Cour des plaintes a pris les mesures qui s'imposaient pour respecter l'arrêt du Tribunal fédéral en fixant au Juge d'instruction fédéral un délai péremptoire au 15 août 2007 pour mettre fin à la procédure d'instruction préparatoire et déposer son rapport de clôture de manière à ce que le recourant puisse être jugé encore cette année. A._ estime certes qu'une audience de jugement devant la Cour des affaires pénales ne pourra selon toute vraisemblance pas être fixée avant 2008 compte tenu des opérations qui restent à effectuer et de la nécessité de trouver une longue période de disponibilité de la part des avocats des parties à la procédure. Ces considérations ne suffisent cependant pas pour exclure avec toute la certitude voulue que le recourant ne puisse encore être jugé avant la fin de cette année. En l'état, il suffit de constater que les injonctions posées par le Tribunal fédéral dans son arrêt du 6 novembre 2006 peuvent a priori encore être respectées, ce qui suffit pour écarter le grief tiré d'une violation du principe de la célérité.
4. Le recours doit par conséquent être rejeté. Les conditions de l'art. 64 LTF étant réunies, il convient de faire droit à la demande d'assistance judiciaire et de statuer sans frais; Me Stefan Disch est désigné comme défenseur d'office du recourant pour la présente procédure et une indemnité lui sera versée à titre d'honoraires par la caisse du Tribunal fédéral.
Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est admise.
2. La demande d'assistance judiciaire est admise.
3. Il n'est pas perçu de frais judiciaires.
3. Il n'est pas perçu de frais judiciaires.
4. Me Stefan Disch est désigné en tant qu'avocat d'office du recourant et une indemnité de 1'500 fr. lui est allouée à titre d'honoraires, supportée par la caisse du Tribunal fédéral.
4. Me Stefan Disch est désigné en tant qu'avocat d'office du recourant et une indemnité de 1'500 fr. lui est allouée à titre d'honoraires, supportée par la caisse du Tribunal fédéral.
5. Le présent arrêt est communiqué en copie au mandataire du recourant, au Ministère public de la Confédération, à l'Office des juges d'instruction fédéraux et au Tribunal pénal fédéral, Ire Cour des plaintes.
Lausanne, le 23 août 2007
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: